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做些業務邏輯處理後,使用Angular進行綁定渲染,UI組件的東西則用的GMU.js,而gmu內置了zepto.js和scroll.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話,用這種方案還是可以考慮的。

原文地址:http://imziv.com/blog/article/read.htm?id=54

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章