免责声明:我在一家名为 Particle Code 的公司工作,该公司制作了一个跨平台框架。这个领域有很多公司。新的似乎每周都会涌现。好消息:您有很多选择。
这些框架采用不同的方法,其中许多从根本上是为了解决不同的问题而设计的。有些专注于游戏,有些专注于应用程序。我会问以下问题:
你想写什么?企业应用、个人生产力应用、益智游戏、第一人称射击?
你喜欢什么样的开发环境? IDE 还是纯文本编辑器?
你对编程语言有强烈的感情吗?在我熟悉的框架中,您可以选择 ActionScript、C++、C#、Java、Lua 和 Ruby。
我的公司更多地涉足游戏领域,所以我没有像 Titanium、PhoneGap 和 Sencha 那样玩过 JavaScript+CSS 框架。但我可以告诉你一些面向游戏的框架。游戏和富互联网应用程序是跨平台框架可以大放异彩的领域,因为这些应用程序往往更重视视觉上的独特性,而不是与原生 UI 的融合。以下是一些需要寻找的框架:
-
Unity www.unity3d.com 是一个 3D 游戏引擎。它真的不同于我工作过的任何其他开发环境。您使用 3D 模型构建场景,并通过将脚本附加到对象来定义行为。您可以使用 JavaScript、C# 或 Boo 编写脚本。如果您想编写可在 iOS、Android、Windows、OS X 或控制台上运行的 3D 物理游戏,这可能是适合您的工具。您还可以使用 3D 资源编写 2D 游戏——独立游戏Max and the Magic Marker 就是一个很好的例子,这是一个用 Unity 编写的基于 2D 物理的横向卷轴。如果您不知道,我建议您检查一下(尤其是如果您家中有孩子)。 Max 适用于 PC、Wii、iOS 和 Windows Phone 7(尽管后者是一个端口,因为 Unity 不支持 WinPhone)。 Unity 附带了一些包含 3D 资源和纹理的示例游戏,这确实有助于快速应对可能非常复杂的环境。
-
Corona www.anscamobile.com/corona 是一个使用 Lua 脚本语言并支持 iOS 和 Android 的 2D 游戏引擎。 Corona 的卖点是能够用几行代码非常快速地编写基于物理的游戏,iOS 应用商店中大量基于 Corona 的游戏就是其成功的证明。环境很简陋,会吸引一些人。它带有一个模拟器和调试器。您添加了您选择的文本编辑器,并且您拥有了一个开发环境。基本 SDK 不包含任何 UI 组件,例如按钮或列表框,但订阅者可以使用 CoronaUI 插件。
-
Particle SDK www.particlecode.com 是一个更通用的跨平台解决方案,具有游戏背景。您可以使用 MVC 应用程序模型在 Java 或 ActionScript 中编写。它包括一个基于 Eclipse 的 IDE 和一个所见即所得的 UI 编辑器。我们目前支持为 Android、iOS、webOS 和 Windows Phone 7 设备构建。您还可以为 Web 输出 Flash 或 HTML5。该框架最初是为在线多人社交游戏开发的,例如扑克和西洋双陆棋,适用于逻辑复杂的二维游戏和应用程序。该框架支持 2D 图形并包含 2D 物理引擎。
注意:
今天我们宣布 Particle Code 已被 Titanium 跨平台框架的制造商 Appcelerator 收购。
...
自 2012 年 1 月 1 日起,[Particle Code] 将不再正式支持 [Particle SDK] 平台。
Source
- Airplay SDK www.madewithmarmalade.com 是一个 C++ 框架,可让您在 Visual Studio 或 Xcode 中进行开发。它支持 2D 和 3D 图形。 Airplay 以 iOS、Android、Bada、Symbian、webOS 和 Windows Mobile 6 为目标平台。它们还有一个附加组件,用于为 PSP 构建 AirPlay 应用程序。我的 C++ 很生锈,我玩的不多,但看起来很酷。
就学习曲线而言,我想说 Unity 的学习曲线(对我而言)最陡峭,Corona 是最简单的,而 Particle 和 Airplay 介于两者之间。
另一个有趣的点是框架如何处理不同的外形尺寸。 Corona 支持动态缩放,这是 Flash 开发人员所熟悉的。这非常易于使用,但意味着当您从 iPhone 等 4:3 屏幕切换到新的 qHD Android 设备等 16:9 屏幕时,最终会浪费屏幕空间。 Particle SDK 的 UI 编辑器让您可以设计灵活的可缩放布局,还可以让您针对各个屏幕尺寸调整布局。这需要更多时间,但可以让您的应用看起来是为每个屏幕定制的。
当然,适合您的方法取决于您的个人品味和工作风格以及您的目标 - 所以我建议您下载其中一些工具并试一试。所有这些工具都可以免费试用。
另外,如果我可以发布一个公共服务公告——这些工具中的大多数都在积极开发中。如果您找到喜欢的框架,请务必发送反馈,让他们知道您喜欢什么、不喜欢什么以及您希望看到的功能。您有真正的机会影响这些工具的下一个版本。
希望这会有所帮助。