成本低、周期短,易于上手,不用重新设计,种种好处让跨平台开发风头无量,也让诸多跨平台开发工具趁势崛起。在本文中,我们盘点了过去的一年里,最受开发 者喜爱的跨平台移动应用开发工具,尤以HTML/JS/CSS开发为众,比如PhoneGap、Sencha Touch等,却也包含使用其他语言进行开发的工具,比如Xamarin,使用C#,就可以开发出能运行于各大主流移动平台之上的原生App。
HTML/JavaScript/CSS篇
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平台的兼容性非常好,画面切换效果亦是相当流畅。
3. Titanium
Titanium 是Appcelerator公司旗下的一款开源的跨平台开发框架,和PhoneGap及Sencha Touch一样,都是让开发者使用HTML/CSS/JS来开发出原生的桌面及移动应用,还支持Python、Ruby和PHP。Titanium最大的 特点就是,由于是基于硬件的开发,开发过程中所创建的应用可选择存储在设备或云端之上。
Titanium主要特性:
- 通过其单一的JavaScript SDK开发原生iOS、Android、Hybrid及移动Web应用。
- 通过其基于Eclipse的Titanium Studio,可以极大地简化开发流程。
- 拥有高效代码块,让开发者编写更少的代码,创建出可扩展的应用程序。
- 集成了MBaaS和Appcelerator Open Mobile Marketplace。
相关链接:Titanium在Mobilehub主页
4. Intel XDK
Intel XDK的前身是AppMobi XDK,是一款帮助开发者使用HTML5开发移动及Web应用的跨平台开发工具。XDK包括了一个HTML5开发环境和一组支持创建混合iOS及 Android应用的云服务,这些应用能够直接提交到不同的应用商店之中。除此之外,XDK还提供了调试工具,可以进行屏幕仿真调试、设备实际调试和遥控 调试,不包括Ad-Hoc模式和安全特性。
和其他工具相比,XDK兼容PhoneGap的HTML5多平台开发项目,能够极大地减少开发时间,不依赖于Java或任何特定的浏览器特性,还能访问设备自带功能,例如GPS、加速计、摄像头、触摸屏交互、触摸手势、振动等。
5. RhoMobile
摩 托罗拉旗下的HTML5应用开发平台RhoMobile Suite也是相当受开发者欢迎。通过RhoMobile,开发者无需考虑设备类型、操作系统、屏幕尺寸等诸多问题,只需掌握HTML和Ruby就可开发 出运行在iOS、Android、Windows Mobile、BlackBerry、Windows Phone等平台上的App。
RhoMobile主要由三部分组成,分别为:
- RhoConnect:通过它,应用与数据之间可快速建立连接,并确保用户可以访问这些数据。
- RhoElements:开发者可以开发出在每台支持设备上都具有相同的外观、感觉和操作灵活的应用。
- RhoStudio:通过RhoStudio全功能模拟器,开发者可以在PC上快速测试和调试跨平台应用程序。
C#篇
6. Xamarin
在 过去的一年里,Xamarin的势头可以说是颇为强劲,而其跨平台应用开发工具使用份额比也有着显著增加。通过Xamarin,开发者只需使用C#语言即 可开发出iOS、Android、Mac及Windows原生App,不仅可以实现“一次编写,随处运行”,更可达到原生UI的跨平台效果。与基于 HTML/JS/CSS的PhoneGap相比,Xamarin最大的优势是通过与系统的底层API通信并与系统原生UI直接交互,可以保证应用的高性能 和UI流畅性。
Xamarin主要特性:
- 快速开发移动原生应用
- 程序代码共享
- 与Visual Studio整合
- 确保第一时间更新
- 原生的用户接口及效能
相关链接:Xamarin在Mobilehub主页
Lua篇
7. Corona SDK
Corona SDK是Corona Labs旗下的一款专门用于跨平台移动应用开发的Lua语言SDK库,不仅容易入手,无门槛,而且效率也相当高。Corona SDK提供了跨平台能力,所以开发者的应用或游戏可兼容iOS、Android、Kindle Fire和Nook平台。Corona支持硬件加速、GPS、照相机等,并集成了Box2D物理引擎。
Corona SDK服务分为三种:
- 基础版:能够在极短的时间内完成应用或游戏开发,通过内付费或广告盈利。
- 专业版:增加了先进的图形技术及所有Corona插件等。
- 企业版:开发者可以在线开发,并从Corona应用中调用任何原生库。
其他语言篇
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。
相关链接:MoSync在Mobilehub主页