最佳開發(fā)實踐
SPA設(shè)計
建議使用SPA(Single Page Application,單頁應(yīng)用)設(shè)計來開發(fā)你的App羽氮,SPA更適合復(fù)雜的客戶端程序,一來方便應(yīng)用的組織和管理起便,其次也防止資源的重復(fù)加載念脯,這一點對于cordova來說是特別友好的狞洋,因為cordova插件提供的原生api需要在deviceready事件之后才可以調(diào)用,就意味著如果打開新頁面绿店,就必須等待資源加載完畢deviceready之后才能使用插件吉懊。這造成的兩個弊端,一個是工程越后期越難以維護(hù)假勿,另一個就是性能問題了借嗽。
這邊推薦一些構(gòu)建SPA應(yīng)用的框架和庫:
性能方面的考慮
可以從以下幾個方面去改善app的性能
點擊與觸摸
使用touch事件會比使用click事件來說好的多,因為使用click事件會有300ms的延遲转培,可能造成UI卡頓恶导。所以考慮使用touchstar或者touchend來代替click,但是touch事件在非webkit的內(nèi)核的瀏覽器上是不支持的浸须。關(guān)于各瀏覽器支持的事件和屬性可以查閱CanIUse這個網(wǎng)站惨寿。
CSS轉(zhuǎn)換和DOM操作
使用硬件加速的CSS轉(zhuǎn)換器來創(chuàng)建動畫而不是js。
緩存
盡量將數(shù)據(jù)緩存到本地删窒。
識別和處理離線狀態(tài)
對于離線狀態(tài)應(yīng)該有一個智能的處理裂垦,確保你的應(yīng)用在離線狀態(tài)下還是有一個較好的表現(xiàn),不至于長時間無響應(yīng)或者崩潰肌索。cordova已經(jīng)提供有獲取和監(jiān)聽網(wǎng)絡(luò)狀態(tài)的插件缸废。