免责声明:我在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和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编写。它包括带有WYSIWYG UI编辑器的基于Eclipse的IDE。目前,我们支持针对Android,iOS,webOS和Windows Phone 7设备的构建。您也可以为网络输出Flash或HTML5。该框架最初是为在线多人社交游戏(例如扑克和西洋双陆棋)开发的,适合具有复杂逻辑的2D游戏和应用程序。该框架支持2D图形,并包括2D物理引擎。
注意:
今天,我们宣布,Titan跨平台框架的制造商Appcelerator已收购了Particle Code。
...
自2012年1月1日起,[ Particle Code ]将不再正式支持[ Particle SDK ]平台。
资源
- Airplay SDK www.madewithmarmalade.com是一个C ++框架,可让您在Visual Studio或Xcode中进行开发。它同时支持2D和3D图形。Airplay面向iOS,Android,Bada,Symbian,webOS和Windows Mobile6。它们还具有用于为PSP构建AirPlay应用程序的附加组件。我的C ++非常生锈,我玩的不多,但是看起来很酷。
就学习曲线而言,我想说(对我而言)Unity的学习曲线最为陡峭,Corona最简单,而粒子和Airplay介于两者之间。
另一个有趣的观点是框架如何处理不同的外形尺寸。Corona支持动态缩放,Flash开发人员会熟悉这种缩放。这非常易于使用,但意味着当您从iPhone的4:3屏幕切换到新的qHD Android设备的16:9屏幕时,最终会浪费屏幕空间。通过Particle SDK的UI编辑器,您可以设计可缩放的灵活布局,还可以针对单个屏幕尺寸调整布局。这需要花费更多时间,但可以让您使应用看起来像是针对每个屏幕定制的。
当然,最适合您的选择取决于您的个人品味和工作风格以及您的目标-因此,我建议您下载其中一些工具并进行尝试。所有这些工具均可免费试用。
另外,如果我能发布公共服务声明,那么这些工具中的大多数实际上都在积极开发中。如果找到了自己喜欢的框架,请发送反馈,并让他们知道您喜欢什么,不喜欢什么以及想要看到的功能。您确实有机会影响这些工具的下一版本中的内容。
希望这可以帮助。