我正在寻找一些我正在尝试构建的跨平台应用程序的实现建议。我希望能有一些直接的东西。
我想创建一个适用于Windows和Mac的小应用程序,允许用户在安装时输入用户名和密码,一旦完成,就可以充当后台服务每秒轮询我的服务器以执行任务。它们主要是文件读/写和上传操作。
我目前正在考虑使用Mono project,但是,我从未使用它,尽管我对C#感到满意。
我还应该考虑其他选择吗?我不确定Java,因为我觉得不同平台上的界面可能很丑/不同。
我希望我的应用程序在用户必须去的依赖关系方面没有摩擦。
我很感激您的任何意见。
答案 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就是一个很好的例子。