2

我正在寻找有关我正在尝试构建的跨平台应用程序的一些实施建议。我希望有一些直接的东西。

我想创建一个适用于 Windows 和 Mac 的小型应用程序,允许用户在安装时输入他们的用户名和密码,一旦完成,就可以作为后台服务每秒轮询我的服务器以执行任务。它们主要是文件读/写和上传操作。

我目前正在考虑使用Mono 项目,但是,尽管我对 C# 很满意,但我从未使用过它。

还有其他我应该考虑的选择吗?我不确定Java,因为我觉得界面在不同平台上可能很难看/不同。

我希望我的应用程序在用户必须去获取的依赖项方面没有摩擦。

我很感激对此的任何意见。

4

4 回答 4

2

关于外观和感觉:

我不会太担心跨平台 Java 应用程序的外观和感觉。Java 的 Nimbus 外观和感觉实际上看起来相当不错,并且已经与 Java 捆绑在一起:http: //docs.oracle.com/javase/tutorial/uiswing/lookandfeel/nimbus.html

此外,您可以找到许多不同的免费、跨平台、外观和感觉,您可以将它们与您的软件捆绑在一起。我本人是 TinyLAF 外观和感觉的忠实粉丝:http: //www.muntjak.de/hans/java/tinylaf/tinyscreen.html

我用 Java 编写了几个经济学应用程序,我认为它们在 Mac 和 Windows 机器上看起来都不错。(我唯一发现的是,Mac 上的菜单栏有时看起来很奇怪。)

--

要注意的另一件事是 Mac 和 Windows 机器上的文件结构差异。如果您的程序涉及外部文件,请确保您没有在任何特定于平台的内容(如目录分隔符)中进行硬编码。

于 2012-05-02T19:46:53.173 回答
1

如果你想要一个漂亮的 UI,你也可以考虑 JavaFX(一种基于 Java 的 RIA 技术)。

于 2012-05-02T20:18:59.943 回答
0

对于用户界面,有一些点点滴滴的调整,但使用系统观感,体验相当流畅(看起来像其他原生应用程序)。在 Java 应用程序中,您可以为整个应用程序配置外观,使其看起来非常集成且非常自然。所以我不会太害怕。

对于 C#,我认为这只适用于 Windows 而不是 Mac,但也许这已经改变了?

于 2012-05-02T19:45:10.540 回答
0

首先,我认为您不会摆脱无依赖关系的应用程序。使用 Mono,你必须安装它。就此而言,Java 也是如此。

我会考虑在您的客户端应用程序中有两个组件。一种是后台工作人员,它将轮询您的服务器并完成工作。另一个是处理登录的 GUI 应用程序,诸如此类。前者可以是用 Java 编写的应用程序。GUI 客户端可以是 Java 或其他平台,或者即使这样,也可以为每个操作系统提供一个端口,因为此时它应该是一个非常简单的应用程序。

就个人而言,我建议避免使用 Mono,因为该项目实际上不再由任何人维护。如果您真的不喜欢 Java 提供的 UI 选项,也许您应该考虑使用 Flex。但是,您谈论的是具有昂贵开发工具的专有平台。真的,我认为您应该重新考虑 Java 提供的功能。它不像以前那样,带有 1990 年代 X-windows 外观的丑陋、粉红色的界面项目。Eclipse 就是一个典型的例子。

于 2012-05-02T20:27:25.430 回答