如果您参与过跨平台开发项目,那么考虑开始一个人,对于某人(比如我自己)有什么建议?例子:
答案 0 :(得分:5)
我参与了一个小型的跨平台项目。该应用程序是一个桌面应用程序,直接作为USB上的可执行文件分发。
最初进行了一些研究 - 您可以跟踪我的stackoverflow问题 - 并使用Mozilla的XULRunner解决。
它在跨平台方面运行得非常好 - 你基本上运行了一个运行firefox和thunderbird的经过良好交叉测试的平台,所以交叉性(这是一个单词?)是非常可靠的。
我认为它的第一个缺陷是文档 - 那里有很多,但最初有点模糊。
但是,然后,mozilla论坛社区非常棒,非常友好和乐于助人。
在开发方面,它是所有javascript和一些类似html的标记语言,称为xul和使用css的样式(如果需要,你也可以用c ++构建扩展,但核心非常强大,因此它)非常熟悉,非常灵活。
XUL为应用程序(IMO)提供了一个良好的特定于平台的本机感觉,或者您可以完全重新执行您的chrome元素并制作自定义ui。
XUL的一个主要问题是,由于XULRunner的工作方式,您的源代码或多或少都可以被任何人看到。如果您拥有专有代码,这可能不适合您 - 或者您需要隔离在用c ++编写的单独库中(Xul术语中的XPCom组件)。
我强烈推荐它。我有一个非常短的时间框架来建立项目,它真的救了我的屁股。我在Mac上进行了开发,它在PC上立即运行,没有任何重大改变。
此外,还有我为此项目审核的其他平台。
我看到了对跨平台UI工具包的强大支持。像QT(例如PyQT)或tcl / tk等语言。我不是太喜欢它,但你可能想要调查它。
有人建议使用AIR,JavaFX和.NET / Mono。对我来说,这是不可行的,因为它过于依赖某些系统(XP没有附带Java,Mac没有附带.NET / Mono,也没有附带AIR)。如果你想要的东西只是开箱即用,这不符合要求。但您的要求可能会有所不同。
Titanium(来自Appcellerator)可能是最接近XULRunner的参赛者。它看起来很棒,非常强大,但与XULRunner相比,桌面开发版具有非常糟糕的调试功能。他们的议程更倾向于移动开发版,我可以理解,但我希望他们更关心桌面版。但是,如果跨平台移动开发是你所追求的可能是好的 - 虽然我没有为此目的进行测试。
希望这有帮助。