Cross platform 跨平台提示、技巧和;戈查斯

Cross platform 跨平台提示、技巧和;戈查斯,cross-platform,Cross Platform,如果你从事过一个跨平台的开发项目,你对考虑开始一个项目的人(比如我)有什么建议?示例: 什么有效 什么没有 你遇到了什么问题 你是怎么解决的 你的目标是保持一致的外表吗 以及跨所有平台的功能 或者尝试利用每个平台的优势 您使用了哪些语言和跨平台库 他们是否遵守了他们的要求 它是桌面、移动还是基于web的应用程序 我参与了一个小型跨平台项目。该应用程序是一个桌面应用程序,在USB上作为可执行文件直接分发 最初做了一些研究-你也许可以追踪我的stackoverflow问题-并与Mozilla的解决

如果你从事过一个跨平台的开发项目,你对考虑开始一个项目的人(比如我)有什么建议?示例:

  • 什么有效
  • 什么没有
  • 你遇到了什么问题 你是怎么解决的
  • 你的目标是保持一致的外表吗 以及跨所有平台的功能 或者尝试利用每个平台的优势
  • 您使用了哪些语言和跨平台库 他们是否遵守了他们的要求
  • 它是桌面、移动还是基于web的应用程序

我参与了一个小型跨平台项目。该应用程序是一个桌面应用程序,在USB上作为可执行文件直接分发

最初做了一些研究-你也许可以追踪我的stackoverflow问题-并与Mozilla的解决方案达成一致

它在跨平台方面运行得非常好——你基本上是在一个运行firefox和thunderbird的经过良好交叉测试的平台上运行的,所以交叉性(这是一个词吗?)

我认为它的第一个缺陷是文档——有很多,但一开始有点模糊

但是,mozilla论坛社区非常棒,非常友好,非常有用

在开发方面,它都是JavaScript和一种类似于HTML的标记语言,叫做XUL和使用CSS的样式(如果需要的话,你也可以在C++中构建扩展,但是内核是非常强大的),所以它非常熟悉,也很灵活。p> 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也不随附)。如果你想要开箱即用的东西,那是不合适的。但是你的要求可能不同

  • 钛(来自Appcellerator)可能是与XULRunner最接近的竞争者。它看起来很棒,功能相当强大,但是桌面开发版与XULRunner相比有着非常糟糕的调试特性。他们的议程更倾向于移动开发版,我可以理解,但我希望他们更关注桌面版。然而,如果跨平台移动开发是您所追求的,那么这可能是件好事——尽管我还没有为此进行测试


希望这能有所帮助。

调查应该是社区维基。@Neil:讨论应该结束。@John,在上面,有许多语言、平台和设计学科的开放提示和技巧问题。为什么要关闭这一个,而其他人则可以幸免?@John:我希望在我寻找答案时有人做了这一步。@Code优雅:我也投票关闭了这些。此外,还有一种“破窗”效应,你刚刚证明了这一点。因为其他问题仍然存在,后来的用户将这些问题作为更多糟糕问题的借口。请注意,它们不是“线程”。这是一个问答网站,而不是一个讨论论坛。