Hybird App ( 混合模式移動應用)開發初體驗


最近1,2個月一直都嘗試開發一款Hybird app,遇到了很多問題,談談自己的體會。

Hybird app (混合模式移動應用),它利用例如安卓端webview組件+HTML5內嵌的方式混合的方式開發的移動應用,
好處顯而易見,由於內嵌的是Html5, 所以跨平台,擴展性,開發成本都是很不錯的優勢。

Hybird App擁有很多從開發工具到打包發布的解決方案,比較出名的是來自Adobe的phonegap, 國內有AppCan,這2種解決方案都有比較好的工具平台。這次我采用的的是Appcan, 需要注意的是Appcan的開發工具只有windows平台的,另外不得不吐槽的是,方案里面集成的js插件腳本,bug很多。

我采用的技術架構,如圖:

 

其中利用Appcan作為應用的打包平台,通過其內置的JS組件進行數據請求,請求得到的數據利用JS做些業務邏輯處理后,使用AngularJS進行綁定渲染,UI組件的東西則用的GMU.js,而gmu內置了zepto.jsscroll.js等等, 頁面則是h5+css3。可以看到的是與傳統的web相比,其中多了不少js框架和庫的應用,畢竟把數據的調用和業務處理都移到了JS端,所以在這里提醒大家,可以考慮加入js模塊管理的框架,例如seajs。數據綁定這塊感覺Angular真的很棒,寫好綁定后,只需要專注后端JS數據的業務處理即可,提升了不少開發效率。

在編碼階段遇到了不少問題,例如並不能利用url像平時那樣進行參數傳遞,發現抓取不到頁面跳轉后的參數。為了減少請求次數,也嘗試采用LocalStorage緩存json。通過Manifest cache 緩存html,css,js文件,來提升界面的響應速度。通過css3替代js做動畫效果,但是效果並不理想,感覺還是沒有js來的流暢。頁面跳轉白屏,數據加載的延遲等等狀況,加載動畫體驗需要做的更好,而且盡量減少頁面的跳轉,把一些功能集中到單個html文件。

總而言之,采取了很多優化方法,但是顯然這種hybird app在性能體驗等方面還是問題很多,但是例如一些交互簡單的app話,用這種方案還是可以考慮的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM