这些平台是必需的:Linux、Mac、Windows、iOS(iPhone、iPod、iPad)和Android。越多越好。
对于移动平台,有Titanium Mobile。我还没有尝试过这个东西,网站上说你可以使用Web技能(如JavaScript)为iOS和Android开发。我还不知道是否可以使用相同的代码部署到两个平台。这将是很棒的!
还有Titanium Desktop,但我不喜欢完整源代码与最终应用程序共享的想法。Titanium也为移动设备做了这件事,但通过App Store加载的应用程序并不容易修改。
那么,有什么其他方法可以创建一个至少在三个主要桌面平台上运行的应用程序呢?我认为使用C#和mono是可行的,但我刚意识到你需要使用MonoMac才能将其发布到Mac App Store并使用诸如Growl之类的功能。而且由于MonoMac自然只适用于Mac,因此无法在所有平台上部署mono应用程序,而不重写至少Mac的应用程序。如果应用程序在所有平台上看起来“本地”,那就太好了。Gtk#在Mac上看起来不好。它在Windows上还可以,在Linux上很棒。
我知道我们可以使用Objective-C制作iOS和Mac应用程序,Java制作Android应用程序,C#.net制作Windows应用程序,C#.mono制作Linux应用程序,但主要问题是我们不想用很多不同的语言编写相同的应用程序。这会使开发和维护变得非常困难。
我们更喜欢具有C风格语法的语言,这对于我们PHP Web开发人员来说更容易学习。顺便说一句:我们不喜欢Air,我也不确定Java是否适合,因为我从未使用过它,但它看起来也不“本地”,感觉有点慢。
注意:如果剩余的代码相同,为每个平台创建自己的表单不是问题。在同一个C#应用程序中可以使用MonoMac、Gtk#和Win Forums吗?由于我没有C++技能,所以我更喜欢C#而不是C++,我需要先检查使用Qt编写有多难。
另一个注意事项:我们不打算花太多钱,因为我们需要支付苹果开发者计划的费用,所以我们想使用免费或廉价的技术。最好是开源的。