【发布时间】:2011-01-25 10:51:04
【问题描述】:
我正在尝试编写一个可以部署到 Windows、Mac OS X 和 Linux 的跨平台 GUI 应用程序。我的要求是:
- 所有三个部署平台的单一代码库,无需大量条件逻辑来处理平台之间的差异。
- 在所有三个平台上看起来都尽可能接近“原生”。
- 可轻松分发到所有三个平台,因为最终用户可以轻松安装它并且不会遭受极度膨胀(如 this ArsTechnica article. 中所述)
基于这些要求,我将工具包的选择范围缩小到 Qt 和 wxWidgets,因为我所知道的其他工具包(包括 Java 的 Swing 和 SWT、Flex、AIR 等)都不满足“原生看”的要求。在这两个最后的竞争者中,Qt 似乎为在我的所有三个部署平台上看起来和感觉都是原生的应用程序提供了更好的支持,但我愿意考虑相反的意见。
我不希望使用 C++ 作为实现语言,但我不确定是否有任何实用的替代方案。对于使用 C++ 以外的实现语言,我最大的担忧是部署问题。正如the Ars Technica article 中所讨论的那样,PyQt 在任何实际意义上都不满足“易于部署”的要求,而且我怀疑 Qt 的大多数其他语言绑定都会遇到相同的部署问题(至少在 Mac OS X 上)。Java(或 Scala) 与 QtJambi?QtRuby?wxPython?
有谁知道满足上述所有三个要求的语言和工具包的组合?
【问题讨论】:
标签: user-interface qt cross-platform desktop wxwidgets