讲述AppCan移动跨平台开发的那点经验

企业动态
在国内,AppCan与PhoneGap已经成为大量开发团队的首选移动跨平台开发框架。两种框架都具有各自优势。作为本土自主核心技术代表的AppCan跨平台移动应用引擎,在技术架构方面和Phonegap存在较多的共同点。

目前有很多移动跨平台开发的技术,不论是在国内还是国外都已经得到了广泛应用,并且大量的商业项目也已经开始采用第三方的移动跨平台开发技术。

在国内,AppCan与PhoneGap已经成为大量开发团队的首选移动跨平台开发框架。两种框架都具有各自优势。作为本土自主核心技术代表的AppCan跨平台移动应用引擎,在技术架构方面和Phonegap存在较多的共同点。

本文主要为大家分享AppCan跨平台移动应用开发能力以及跨平台移动应用开发性能方面的经验。

AppCan如何实现真正的跨平台移动应用开发?

AppCan作为一款商业的跨平台移动应用引擎,基于标准接口插件扩展的方式实现移动程度上的开放,同时也具备了商业项目成熟/稳定/可靠的特性,同时支持免费用户使用和付费增值服务模式。

[[76579]] 

 

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在引擎层做了容错处理,保证应用不出错/不报警/不崩溃。

[[76580]]

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实现真正的跨平台移动应用开发。
 

责任编辑:林师授 来源: 51CTO
相关推荐

2012-03-16 13:43:29

2012-04-23 09:32:15

AppCan跨平台开发

2012-10-25 10:14:49

AppCan跨平台

2012-08-22 13:34:30

移动开发跨平台

2012-05-17 10:44:29

AppCan

2011-07-06 11:16:32

Unity3DCocos2dSparrow Fra

2013-07-17 13:51:48

AppCanPhoneGap

2013-06-26 14:55:59

AppCan

2012-07-11 10:52:48

腾讯微博AppCan

2012-10-18 09:19:29

AppCan 2.0AppCan

2010-10-09 15:01:27

PhoneGapiPhoneAndroid

2015-03-28 19:18:47

线下公开课51CTO沙龙MDSA

2014-07-08 09:37:28

跨平台Webhtml5

2012-06-20 09:55:34

Web开发者

2015-03-06 19:26:44

线下沙龙MDSA公开课

2012-03-07 10:02:35

AppCanHTML5移动应用

2012-05-09 16:19:15

腾讯微博AppCan

2015-05-13 10:09:39

移动跨平台开发

2010-11-11 09:04:05

跨平台移动开发

2014-03-24 10:30:38

卢建晖跨平台开发
点赞
收藏

51CTO技术栈公众号