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

本文关键字:跨平台 应用程序 构建 什么 | 更新日期: 2023-09-27 18:32:53

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

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

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

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

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

我感谢对此的任何投入。

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

关于外观和感觉:

我不会太担心跨平台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机器上的文件结构差异;如果你的程序涉及外部文件,请确保你不要在任何特定于平台的东西(如目录分隔符(中进行硬编码。

如果你

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

对于用户界面,有一些零碎的东西需要调整,但使用系统外观和感觉,体验非常流畅(它看起来像其他本机应用程序(。在Java应用程序中,您可以配置整个应用程序的外观,使其看起来非常集成且非常自然。所以我不会太害怕。

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

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

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

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