混合應用技術選型
越來越多的公司選擇使用 hybrid開發模式來做app,我司在一些個別專案上也採用了這樣的架構,目前來看整體還可以,但是也是有很多的坑要去填。
目前開發APP的三種形式:
1、客戶端(純原生)+服務端(php/java/...)
2、客戶端(原生+html5)+服務端(php/java/...)
3、客戶端(webap(SPA))+服務端(node環境+vue/react/...)
方案一應該是目前主流公司的標準開發模式,我們公司以前的產品也大都以這種方式來進行;
優點:體驗好,客戶端操作穩定;
缺點:釋出版本升級太麻煩
方案二採用原生+h5的方式來配合,使用的原則是使用者使用的一級頁面或者主框架頁面採用原生語言來開發,比如:登入、首頁、我的賬戶首頁等;所有的二級頁面均採用H5開發。
優點:開發速度快,升級方便
缺點:原生和H5互動比較複雜
方案三使用一些SPA框架,比如vue、react等。利用這些框架以元件的形式進行開發頁面切換成不同的元件有利於複用,服務端必須使用node環境包裝一層再和服務端互動,或者直接使用node做服務端
優點:開發速度快,頁面利用率高
缺點:目前來開沒有網路等情況互動不友好,生產使用情況很少
我們根據調研結果採用了第二種方案,但是使用第二種方案又會面臨很多問題:
1、原生和H5使用者狀態如何來同步?
2、原生和H5如何相互互動使用
3、如何保證資訊不洩露
解決方案:
1、使用者登入後下發token,使用者在客戶端登入後將token儲存,原生請求帶上token;每次點選H5頁面請求的時候將token存入cookie,瀏覽器會自動帶上cookie以識別使用者狀態。
2、使用WebViewJavascriptBridge來解決H5呼叫原生介面的問題。