成本低、周期短,易于上手,不用重新设计,种种好处让跨平台开发风头无量,也让诸多跨平台开发工具趁势崛起。在本文中,我们盘点了过去的一年里,最受开发者喜爱的跨平台移动应用开发工具,尤以HTML/JS/CSS开发为众,比如PhoneGap、Sencha Touch等,却也包含使用其他语言进行开发的工具,比如Xamarin,使用C#,就可以开发出能运行于各大主流移动平台之上的原生App。
1. PhoneGap
说到跨平台开发工具,很多人首先会想到PhoneGap。这样一款能够让开发者使用HTML、JS、CSS来开发跨平台移动App的开源免费框架,一直以来都深受开发者喜爱,从iOS、Android、BB10、Windows Phone到Amazon Fire OS、Tizen等,各大主流移动平台一应俱全,还能让开发者充分利用地理位置、加速器、联系人、声音等手机核心功能。
此前,在Native与Web谁主未来的大论毫无消停之时,许多人认为,类PhoneGap的应用开发框架天然优势在于支持跨平台,后期可扩展性较强,开发周期很短,熟悉Web技术的开发者可轻松上手,缺点在于性能上的确不如Native,后期还需针对各个版本分别优化开发等。如今,Hybrid App已然当家做主,PhoneGap在性能与平台特性支持上也有着极大的提高和改善,大有赶超Native之势。
相关链接:PhoneGap在Mobilehub主页
2. Sencha Touch
Sencha Touch是一款基于HTML5、CSS3和JavaScript的移动Web应用开发框架,内置MVC系统,能够让开发者的HTML5应用看起来就像原生应用一样,全面兼容iOS、Android、BlackBerry、Windows Phone、Tizen等主流移动平台。除了常见的触摸手势之外,Sencha Touch还专为iOS、Android设备提供了单击、双击、滑动、滚动和双指缩放手势。
HTML5应用开发的大热让众多跨平台开发框架逐渐风行,而Sencha Touch就是其中之一。能够让开发者以非常友好的方式从HTML5/CSS3/JS提取最多内容,并为其提供丰富而又易于使用的特性。Sencha Touch对于iOS平台的兼容性非常好,画面切换效果亦是相当流畅。
相关链接:Sencha Touch在Mobilehub主页
3. Titanium
Titanium是Appcelerator公司旗下的一款开源的跨平台开发框架,和PhoneGap及Sencha Touch一样,都是让开发者使用HTML/CSS/JS来开发出原生的桌面及移动应用,还支持Python、Ruby和PHP。Titanium最大的特点就是,由于是基于硬件的开发,开发过程中所创建的应用可选择存储在设备或云端之上。
Titanium主要特性:
相关链接:Titanium在Mobilehub主页
4. Intel XDK
Intel XDK的前身是AppMobi XDK,是一款帮助开发者使用HTML5开发移动及Web应用的跨平台开发工具。XDK包括了一个HTML5开发环境和一组支持创建混合iOS及Android应用的云服务,这些应用能够直接提交到不同的应用商店之中。除此之外,XDK还提供了调试工具,可以进行屏幕仿真调试、设备实际调试和遥控调试,不包括Ad-Hoc模式和安全特性。
和其他工具相比,XDK兼容PhoneGap的HTML5多平台开发项目,能够极大地减少开发时间,不依赖于Java或任何特定的浏览器特性,还能访问设备自带功能,例如GPS、加速计、摄像头、触摸屏交互、触摸手势、振动等。
相关链接:Intel XDK在Mobilehub主页
5. RhoMobile
摩托罗拉旗下的HTML5应用开发平台RhoMobile Suite也是相当受开发者欢迎。通过RhoMobile,开发者无需考虑设备类型、操作系统、屏幕尺寸等诸多问题,只需掌握HTML和Ruby就可开发出运行在iOS、Android、Windows Mobile、BlackBerry、Windows Phone等平台上的App。
RhoMobile主要由三部分组成,分别为:
相关链接:RhoMobile在Mobilehub主页
6. Xamarin
在过去的一年里,Xamarin的势头可以说是颇为强劲,而其跨平台应用开发工具使用份额比也有着显著增加。通过Xamarin,开发者只需使用C#语言即可开发出iOS、Android、Mac及Windows原生App,不仅可以实现“一次编写,随处运行”,更可达到原生UI的跨平台效果。与基于HTML/JS/CSS的PhoneGap相比,Xamarin最大的优势是通过与系统的底层API通信并与系统原生UI直接交互,可以保证应用的高性能和UI流畅性。
Xamarin主要特性:
相关链接:Xamarin在Mobilehub主页
7. Corona SDK
Corona SDK是Corona Labs旗下的一款专门用于跨平台移动应用开发的Lua语言SDK库,不仅容易入手,无门槛,而且效率也相当高。Corona SDK提供了跨平台能力,所以开发者的应用或游戏可兼容iOS、Android、Kindle Fire和Nook平台。Corona支持硬件加速、GPS、照相机等,并集成了Box2D物理引擎。
Corona SDK服务分为三种:
相关链接:Corona SDK在Mobilehub主页
8. LiveCode
LiveCode是由RunRev公司推出的一款强大的图形化开发环境,不仅免费,还可以提供10倍的效率提升并减少90%的代码。其强大之处在于非常容易学习和使用,可以让一个不会编程的人在很短的时间内就能开发出原生的,能够运行于PC、服务器、移动设备上的应用程序。
LiveCode拥有一个类似于VB的所见即所得的界面设计工具,用户可以使用拖拽的方式来实现应用界面的设计和布局,并通过一种类似于英语的自然脚本语言来编写应用功能,最后,通过LiveCode强大的部署工具来生成可运行于Mac、Windows、Linux、iOS、Android等各种平台上的应用程序。
相关链接:LiveCode在Mobilehub主页
最后,我们再来介绍两款跨平台游戏引擎,分别为Unity、MoSync。
9. Unity
Unity在全球开发者圈子里的受欢迎程度自不必多言,这样一款功能强大的跨平台游戏引擎,全面覆盖了Windows、Mac、iOS、Android、Windows Phone、BlackBerry、Xbox360、Wii等桌面、移动及掌机平台,支持JavaScript、C#、Boo三种脚本语言,拥有着大量的第三方插件和工具,可以帮助开发者极大地提升工作效率。
容易上手、多语言编程、专业级的效果、傻瓜式的调试和编译、强大的扩展性,在跨平台、光影特效及模型渲染等各方面都有着非常不错的表现,让Unity无论在3D还是2D游戏开发中都是当之无愧的“最好用的游戏引擎之一”。
相关链接:Unity在Mobilehub主页
10. MoSync
MoSync是一款开源的免费移动游戏开发引擎,易于移植,允许开发者使用C/C++、HTML5或JavaScript来为iOS、Android、Windows Phone、Java Mobile、Windows Mobile等平台进行游戏应用开发。开发者可通过MoSync精简库调用本地设备API,并且,所开发的App还能使用本地的UI控件。
通过MoSync精简库,开发者可以调用本地设备API,并且,所开发的App还能使用原生UI控件。此外,通过MoSync IDE,开发者可以调用任何仿真器,包括本地平台的仿真器,及MoSync Reference Environment。