講述AppCan移動跨平臺開發的那點經驗
目前有很多移動跨平臺開發的技術,不論是在國內還是國外都已經得到了廣泛應用,并且大量的商業項目也已經開始采用第三方的移動跨平臺開發技術。
在國內,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實現真正的跨平臺移動應用開發。