什么是hybird?
hybrid即“混合”,即前端和客戶端的混合開發,需要前端開發人員和客戶端開發人員配合完成。
hybrid存在價值
- 可以快速迭代更新(無需app審核,思考為何?)
- 體驗流暢(和NA的體驗基本類似)
- 減少開發和溝通成本,雙端公用一套代碼。
什么是webview?
是app中一個組件(app可以有webview,也可以沒有)。用於加載h5頁面,即一個小型的瀏覽器內核。
file協議
兩者區別:
- file協議:本地文件,快。
- http(s)協議:網絡加載,慢。
具體實現
不是所有場景都適合使用hybrid:
- 使用NA:體驗要求極致,變化不頻繁(頭條的首頁)
- 使用hybrid:體驗要求高,變化頻繁(如頭條的新聞詳情頁)
- 使用h5:體驗無要求,不常用(如舉報,反饋等頁面)
使用步驟:
- 前端做好靜態頁面(html,js,css),將文件交給客戶端
- 客戶端拿到前端靜態頁面,以文件形式存儲在app中,客戶端在一個webview中,使用file協議加載靜態頁面。
js與客戶端通信
- JS訪問客戶端能力,傳遞參數和回調函數
- 客戶端通過回調函數返回內容
- 對schema協議的理解和使用,調用schema代碼的封裝