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