目前有很多移动跨平台开发的技术,不论是在国内还是国外都已经得到了广泛应用,并且大量的商业项目也已经开始采用第三方的移动跨平台开发技术。
在国内,AppCan与PhoneGap已经成为大量开发团队的首选移动跨平台开发框架。两种框架都具有各自优势。作为本土自主核心技术代表的AppCan跨平台移动应用引擎,在技术架构方面和Phonegap存在较多的共同点。
本文主要为大家分享AppCan跨平台移动应用开发能力以及跨平台移动应用开发性能方面的经验。
AppCan如何实现真正的跨平台移动应用开发?
AppCan作为一款商业的跨平台移动应用引擎,基于标准接口插件扩展的方式实现移动程度上的开放,同时也具备了商业项目成熟/稳定/可靠的特性,同时支持免费用户使用和付费增值服务模式。
AppCan混合模式移动应用引擎和其他平台一样,基于原生插件扩展和引擎自身完善的能力进行应用开发。并且大部分原生插件都是由AppCan的母公司自身维护,基于以下三个原则,实现了真正的跨平台移动应用开发。
原则一:能力接口尽一切努力实现统一
所有原生插件项目立项之初,AppCan多个移动平台团队同步实施,包括iOS/Android/Windows Phone和Windows8,基于统一接口和统一能力的原则来开发原生能力插件。比如,在iOS上实现下拉弹动是非常容易的事情,但是在Android上实现同样的原生效果,则比较具有挑战性,为了保持接口统一,AppCan Android团队经过持久的技术攻关,最终在webview上实现了原生下拉弹动刷新效果,从而最大程度的实现一套代码,多个平台运行。
原则二:接口统一,但保持平台个性
虽然一套代码实现了跨平台移动应用开发和运行,但是考虑到用户在不同移动平台上的操作和审美习惯,对于具有突出平台个性的插件,AppCan做了人性化的区分处理。如日期选择器,在iOS上用户习惯底部弹出轮盘的方式供用户操作,但是在Android上是屏幕中央弹出通过加减号的方式选择。AppCan为了保持用户操作习惯,基于同一个接口进行效果的区分封装。从而实现了一套代码,调用同一个功能,但是区分显示的目的。
Android与IOS的时间选择
原则三:对实现无法实现跨平台的能力进行容错
iOS和Android上有一些不互通的功能,如Android有物理的Menu菜单,但是iOS没有。iOS有facetime / passbook等平台功能,Android没有。为了屏蔽这种差异,实现一套代码多平台运行。AppCan在引擎层做了容错处理,保证应用不出错/不报警/不崩溃。
Android与iPhone手机功能键
AppCan与其他平台的对比
分别作为国内国外跨平台移动应用引擎的代表,AppCan和Phonegap在国内移动应用开发者中都具备一定的影响力。两种跨平台移动应用引擎都是主打混合模式移动应用(Hybrid App)的理念,都主要使用HTML5和JavaScript作为跨平台开发语言,都支持原生插件扩展,并且都是以插件的方式扩充各自引擎的功能和能力。
|
AppCan
|
Phonegap
|
开发应用类型
|
Hybrid App 混合应用
|
Hybrid App 混合应用
|
开发语言
|
标准HTML5+Javascript
|
标准HTML5+Javascript
|
支持原生插件扩展
|
支持
|
支持
|
支持动态原生插件编译
|
支持
|
支持
|
作为免费的开源项目,Phonegap有开放/自由/免费的优势,但是因此也缺少了商业项目稳定/统一/可靠的特性。使用Phonegap的开发者,大部分是懂得原生移动应用Native App开发的程序员,真正的前端或网页技术工程师则很难基于Phonegap开发出满足用户体验和需求的跨平台移动应用。
总结
移动跨平台开发是一种趋势,实现真正的跨平台开发才能提升效率、降低成本。AppCan持续为广大开发者提供免费、优质的移动应用引擎,同时为企业客户提供更多的服务和支持。从而基于AppCan Hybrid App Engine实现真正的跨平台移动应用开发。