用什么来构建跨平台应用程序?

时间:2012-05-02 19:41:32

标签: c# java frameworks

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

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

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

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

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

我很感激您的任何意见。

4 个答案:

答案 0 :(得分: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机器上的文件结构差异;如果您的程序涉及外部文件,请确保您不要在任何特定平台(如目录分隔符)中进行硬编码。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

对于用户界面,可以调整一些零碎,但使用系统外观&感觉,体验非常顺利(看起来像其他原生应用程序)。在Java应用程序中,您可以配置Look&感受整个应用程序,使其看起来非常集成,非常自然。所以我不会太担心。

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

答案 3 :(得分:0)

首先,我认为你不会逃避无依赖的应用程序。使用Mono,你必须安装它。对于Java来说也是如此。

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

就个人而言,我建议避免使用Mono,因为该项目实际上不再由任何人维护。如果你真的不喜欢Java提供的UI选项,也许你应该考虑使用Flex。但是,您正在谈论使用昂贵的开发工具的专有平台。真的,我认为你应该重新考虑Java的可用内容。它不像过去那样,丑陋的,粉红色的,20世纪90年代的X-windows看起来是界面物品。 Eclipse就是一个很好的例子。