講述AppCan移動跨平臺開發(fā)的那點經(jīng)驗
目前有很多移動跨平臺開發(fā)的技術(shù),不論是在國內(nèi)還是國外都已經(jīng)得到了廣泛應(yīng)用,并且大量的商業(yè)項目也已經(jīng)開始采用第三方的移動跨平臺開發(fā)技術(shù)。
在國內(nèi),AppCan與PhoneGap已經(jīng)成為大量開發(fā)團隊的首選移動跨平臺開發(fā)框架。兩種框架都具有各自優(yōu)勢。作為本土自主核心技術(shù)代表的AppCan跨平臺移動應(yīng)用引擎,在技術(shù)架構(gòu)方面和Phonegap存在較多的共同點。
本文主要為大家分享AppCan跨平臺移動應(yīng)用開發(fā)能力以及跨平臺移動應(yīng)用開發(fā)性能方面的經(jīng)驗。
AppCan如何實現(xiàn)真正的跨平臺移動應(yīng)用開發(fā)?
AppCan作為一款商業(yè)的跨平臺移動應(yīng)用引擎,基于標準接口插件擴展的方式實現(xiàn)移動程度上的開放,同時也具備了商業(yè)項目成熟/穩(wěn)定/可靠的特性,同時支持免費用戶使用和付費增值服務(wù)模式。
AppCan混合模式移動應(yīng)用引擎和其他平臺一樣,基于原生插件擴展和引擎自身完善的能力進行應(yīng)用開發(fā)。并且大部分原生插件都是由AppCan的母公司自身維護,基于以下三個原則,實現(xiàn)了真正的跨平臺移動應(yīng)用開發(fā)。
原則一:能力接口盡一切努力實現(xiàn)統(tǒng)一
所有原生插件項目立項之初,AppCan多個移動平臺團隊同步實施,包括iOS/Android/Windows Phone和Windows8,基于統(tǒng)一接口和統(tǒng)一能力的原則來開發(fā)原生能力插件。比如,在iOS上實現(xiàn)下拉彈動是非常容易的事情,但是在Android上實現(xiàn)同樣的原生效果,則比較具有挑戰(zhàn)性,為了保持接口統(tǒng)一,AppCan Android團隊經(jīng)過持久的技術(shù)攻關(guān),最終在webview上實現(xiàn)了原生下拉彈動刷新效果,從而最大程度的實現(xiàn)一套代碼,多個平臺運行。
原則二:接口統(tǒng)一,但保持平臺個性
雖然一套代碼實現(xiàn)了跨平臺移動應(yīng)用開發(fā)和運行,但是考慮到用戶在不同移動平臺上的操作和審美習(xí)慣,對于具有突出平臺個性的插件,AppCan做了人性化的區(qū)分處理。如日期選擇器,在iOS上用戶習(xí)慣底部彈出輪盤的方式供用戶操作,但是在Android上是屏幕中央彈出通過加減號的方式選擇。AppCan為了保持用戶操作習(xí)慣,基于同一個接口進行效果的區(qū)分封裝。從而實現(xiàn)了一套代碼,調(diào)用同一個功能,但是區(qū)分顯示的目的。
Android與IOS的時間選擇
原則三:對實現(xiàn)無法實現(xiàn)跨平臺的能力進行容錯
iOS和Android上有一些不互通的功能,如Android有物理的Menu菜單,但是iOS沒有。iOS有facetime / passbook等平臺功能,Android沒有。為了屏蔽這種差異,實現(xiàn)一套代碼多平臺運行。AppCan在引擎層做了容錯處理,保證應(yīng)用不出錯/不報警/不崩潰。
Android與iPhone手機功能鍵
AppCan與其他平臺的對比
分別作為國內(nèi)國外跨平臺移動應(yīng)用引擎的代表,AppCan和Phonegap在國內(nèi)移動應(yīng)用開發(fā)者中都具備一定的影響力。兩種跨平臺移動應(yīng)用引擎都是主打混合模式移動應(yīng)用(Hybrid App)的理念,都主要使用HTML5和JavaScript作為跨平臺開發(fā)語言,都支持原生插件擴展,并且都是以插件的方式擴充各自引擎的功能和能力。
|
AppCan
|
Phonegap
|
開發(fā)應(yīng)用類型
|
Hybrid App 混合應(yīng)用
|
Hybrid App 混合應(yīng)用
|
開發(fā)語言
|
標準HTML5+Javascript
|
標準HTML5+Javascript
|
支持原生插件擴展
|
支持
|
支持
|
支持動態(tài)原生插件編譯
|
支持
|
支持
|
作為免費的開源項目,Phonegap有開放/自由/免費的優(yōu)勢,但是因此也缺少了商業(yè)項目穩(wěn)定/統(tǒng)一/可靠的特性。使用Phonegap的開發(fā)者,大部分是懂得原生移動應(yīng)用Native App開發(fā)的程序員,真正的前端或網(wǎng)頁技術(shù)工程師則很難基于Phonegap開發(fā)出滿足用戶體驗和需求的跨平臺移動應(yīng)用。
總結(jié)
移動跨平臺開發(fā)是一種趨勢,實現(xiàn)真正的跨平臺開發(fā)才能提升效率、降低成本。AppCan持續(xù)為廣大開發(fā)者提供免費、優(yōu)質(zhì)的移動應(yīng)用引擎,同時為企業(yè)客戶提供更多的服務(wù)和支持。從而基于AppCan Hybrid App Engine實現(xiàn)真正的跨平臺移動應(yīng)用開發(fā)。