Corona中文站

强大、易学的跨平台(iOS/Android)开发框架。QQ群1:74390406(满) 群2:221929599

导航

市面上知名的几款跨平台的移动开发框架
=============================================
Unity3D
=============================================
因为上一个项目使用的Unity3D(http://www.unity3d.com/),目前的感受是这个引擎相当不错,尤其对于美术人员来说相当友好,其在跨平台方面的表现也很强大,虽然手机平台目前只支持iOS跟Android,不过这也足够了,Unity现在50万的开发者也足以证明它的优秀,而围绕它的一些插件开发商和工具开发商,还有大量的Asset提供者,已经将Unity打造成了一个产业圈。
只不过Unity的强项还是在3D游戏开发上,虽然使用其UI组件也可以构建2D游戏,但是使用起来还是比较别扭,也不那么直观。

=============================================
Cocos2d
=============================================
另外一个非常优秀的框架Cocos2d(http://www.cocos2d-iphone.org/),这个真的只能算是框架,因为它只是一套API集合,不像Unity那样有完善的开发工具,而且Cocos2d只能发布到iOS平台和Mac平台下,如果需要跨平台可以使用国人移植的Cocos2d-X项目。

看一眼Cocos2d网站的项目列表真的是很让人激动,那么多曾经排过Top10的项目,似乎有了它成功就在眼前。Cocos2d是我很早就一直在关注的一个框架,并且尝试用它来写过简单的游戏,确实很不错。

不过Cocos2d最大的问题在于工具的缺失,使用它必须完全由程序员自己来实现场景构建,动画控制,等等。当然也可以借助于Tiled这类开源工具来编辑地图,但其功能与Unity比起来只能用简陋来形容,这对于多人协作,尤其是程序与美术的协作是相当不友好的。

当然,如果你能一个人搞定所有这些事那也无所谓。

=============================================
Sparrow Framework
=============================================
Sparrow Framework(http://www.sparrow-framework.org),与Cocos2d类似的一个游戏开发框架。Sparrow不是跨平台的开发框架,它只支持iOS。因为提供了一套与Flash/Flex类似的API接口,所以对于有flash开发经验的人员来说还是有一定优势的。不过同样也是工具的缺失,使用起来有一定难度。

Torque 2d(http://www.garagegames.com/products/torque-2d)是一个比较老牌的游戏引擎,包含有比较完整的开发工具,其Level Editor跟Unity一样也是所见即所得,对于横版过关类游戏及斜45度地图游戏都有很好的支持,使用了一套自己实现的脚本引擎,类C++的语法,使用起来也比较清晰。

它的一个分支iTouque-2d可以把应用发布到iOS平台,不过目前还不支持发布到Android,这应该算是Torque目前最大的问题了。

=============================================
Corona SDK
=============================================
Corona SDK(http://www.anscamobile.com/corona/),差不多与Cocos2d齐名的另一个优秀的框架,在早期Apple对第三方语言开发App还严格禁止的时候这个工具就已经出现了,我关注到这个框架的时候正逢Apple开始解禁第三方编程语言,那时候Corona还在做低价促销,可惜当时我没有购买 J。

同样的,看一眼Corona SDK的Showcase列表也会热血沸腾,这么多优秀的App,不过问题也还是有的:

没有集成开发环境,必须自己使用lua语言一行行写出一个App来。

Android的支持还非常不完善,Corona基本上也是在iOS做的比较成熟后再移植到Android上的,这个移植工作还处于非常初期的阶段,所以不要指望它在Android上的表现能有多好,能够正常运行就不错了。

最大的一个问题是使用Corona开发的应用必须提交到它的服务器上去编译生成App,当然你可以先在本地使用模拟器来开发,但最后的发布包必须在服务器上生成,为此你必须每年交349美元的授权费,这比苹果的年费可高多了。

=============================================
Monkey
=============================================
Monkey( http://www.monkeycoder.co.nz)是一个与Corona类似的框架,但是比Corona要稍好一些,如果单从开发者角度来看的话。

Monkey使用Bliz Basic语言开发应用,然后编译生成目标平台的Project,再将这个Project按照正常开发流程编译生成App。这个流程与Corona基本相似,不过编译的过程是在本地进行的,所以可以在目标Project生成之后再进行修改,这样一些在特定平台上的功能可以分别进行添加和修改。

另外Monkey的授权费比Corona要低得多,只需要一次付费,授权费也只需要120美元。

Monkey的问题在于它还处在开发的初期阶段,目前发布的版本只实现了最基础的功能,对于游戏开发来说,你还需要自己添加物理支持,粒子系统,如果你想要加入网络功能的话也得自己去做。当然社区里有热心用户公开了他们的一部分代码,但是,你懂的。

=============================================
PhoneGap
=============================================
PhoneGap(http://www.phonegap.com/),如果你在Google搜索“cross platform mobile application framework”,第一个结果就是PhoneGap。当然这可能与选择的关键字有关,如果把关键字改为“cross platform mobile app development”,那么第一个结果是Corona,第二个结果还是PhoneGap。

PhoneGap宣传的是唯一一个同时支持6种移动平台的开发框架,这个没错,因为它的应用是基于Html的,本身就比较容易做到跨平台。但是 PhoneGap也为应用做了一层封装,把一些系统级的API封装为Javascript API提供给应用开发者,然后启动一个WebView来加载实际应用。

这样的做法使得PhoneGap的应用基本上限制于Web类,对于游戏应用就不大合适,当然网页类SNS游戏除外.

至于为什么要用PhoneGap而不是直接让玩家用Safari打开一个URL,原因基本上有从点:一是应用可能需要一些系统底层功能,比如想要获取地理位置信息,或者是照相机等等,另一种情况是做成一个独立APP可以放到Store上去收费,而URL的收费就不那么方便了。

=============================================
Titanium
=============================================
Titanium(http://www.appcelerator.com/),同样是在上面的搜索结果中,你大概已经注意到了这个名字。Titanium首页宣传的是有1.5M活跃开发者,22.5K的APP和20M的活跃用户,这个数字不知道是不是有一定水分,但是因为Titanium是免费并且开源的,所以有这么多注册的开发者本身可能不奇怪,Titanium的商业模式是靠提供技术支持与培训来赢利,这对于普通开发者来说是好事。

但是与PhoneGap类似,Titanium也是用于Web类的移动应用开发,但是Titanium似乎做的更进一步,把部分UI组件编译成了 Native Code,这样使得应用看起来更像是专为这个平台开发的。在功能实现上,Titianium内置了一个JS脚本引擎,这比PhoneGap直接使用 WebView也要更强大一些。

但是在StackOverFlow以及Titanium论坛上看到大量的抱怨,问题集中在文档的老旧以及BUG的修复太过于缓慢,还有在跨平台方面的支持不够完善,需要为不同平台编写大量的特定代码,这些问题对于应用开发者来说都是致命的。

<< Corona框架的缺点和不足Corona开发的APP占据了美国区收费榜前20中的7个位置(有图有真相) >>

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最近发表

Powered By Z-Blog 1.8 Walle Build 100427 Copyright 2011-2015 BuildApp.Net. All Rights Reserved.