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