我做的最后一个跨平台桌面开发是 Java/Swing。弹性呢?
11 回答
不要这样做。如果您需要跨平台,请将应用程序的主要内容编写在不依赖任何 GUI 框架的业务逻辑层中,然后使用本机平台 API 来完成每个应用程序。
您的用户会感谢您。
我会选择一个开放的替代方案,我会尽量避免供应商锁定。正如 Richard 所说,“如果你已经掌握了 Java/Swing,为什么不再次使用它呢?”
我已经使用RealSoftware 的 RealBasic做了一些事情,只是为了玩它。如果您需要专业版,它可能会变得昂贵。它将允许您为 Linux、MacOS X 或 Windows 构建独立的二进制文件。我更像是一个服务器端的人,但创建一些我想尝试用它制作的工具非常简单。
我是wxWidgets的忠实粉丝。我唯一的经验是使用 C++。
Flex/AIR 是一个具有很大潜力的平台。它也比 Java 或 .NET 更漂亮。
我个人使用 Tcl/Tk,因为它非常强大,而且部署不是问题(使用starkits 和starpacks,您可以将所有程序资源——图像、声音、dll/.so 文件等——打包到一个可执行文件中) )。
不过 Tcl 并不适合所有人——有些人发现它的简单性有点难以理解。
忽略 Flex,它不是在编程 IMO。如果您可以编写 Java 代码,我敢肯定 Flex 会令人失望。Flex 有一席之地,我真的不认为它是一个合适的编程环境。
如果您已经掌握了 Java/Swing,为什么不再次使用它呢?我会。
.NET 可以移植——但 IME 并不像使用 Java 那样容易移动(尽管它比以前更好)。
此外,它是否必须是桌面 - 我会认真考虑(一个适当架构的)基于行的桌面应用程序。
Eclipse RCP 有效。结果在 Windows 上是不错的,在 Mac 上是可以接受的。由于内存要求高,它在 Mac 上往往很慢。
带有 Framework .Net 的 C# 不仅适用于 Windows,而且适用于带有 Mono 的 Linux。
Microsoft 有一个适用于 MAC OSX10.2 的 CLI。