目錄
1.webview是什么
2.為什么需要webview
3.從產(chǎn)品角度看怎么做webview組件
webview是什么
Webview是一個基于webkit的引擎秘遏,可以解析DOM 元素,展示html頁面的控件,它和瀏覽器展示頁面的原理是相同的碌秸,所以可以把它當(dāng)做瀏覽器看待。
定義中涉及的名詞
webkit是一個開源的瀏覽器引擎,可以理解為汽車的發(fā)動機净响。
DOM 是 Document Object Model(文檔對象模型)的縮寫。DOM 是 W3C(萬維網(wǎng)聯(lián)盟)的標(biāo)準(zhǔn)喳瓣。
DOM 定義了訪問 HTML 和 XML 文檔的標(biāo)準(zhǔn):
“W3C 文檔對象模型 (DOM) 是中立于平臺和語言的接口馋贤,它允許程序和腳本動態(tài)地訪問和更新文檔的內(nèi)容、結(jié)構(gòu)和樣式畏陕∨渑遥”
W3C DOM 標(biāo)準(zhǔn)被分為 3 個不同的部分:
核心 DOM - 針對任何結(jié)構(gòu)化文檔的標(biāo)準(zhǔn)模型
XML DOM - 針對 XML 文檔的標(biāo)準(zhǔn)模型
HTML DOM - 針對 HTML 文檔的標(biāo)準(zhǔn)模型
為什么需要webview
1.webview可以展示渲染html、CSS惠毁、js格式的文檔扰付,把它顯示成一個可以看懂的頁面。相當(dāng)于一個在app環(huán)境內(nèi)的瀏覽器仁讨。瀏覽器有的功能羽莺,它基本都可以有。比如換皮膚洞豁。
2.在app環(huán)境內(nèi)展示的h5需要和原生進行交互盐固,如獲取登錄信息等,需要通過webview作為溝通的橋梁丈挟。
從產(chǎn)品角度看怎么做webview組件
組件是對數(shù)據(jù)和方法的簡單封裝刁卜。組件的前提是接口標(biāo)準(zhǔn)化∈镅剩可以把重復(fù)利用概率大的功能封裝成組件蛔趴,供多方調(diào)用,節(jié)約資源例朱。如孝情,webview控件。
webview組件可以分為2部分來定義:導(dǎo)航欄功能和其他功能洒嗤。
1.導(dǎo)航欄功能
-返回按鈕
顯示邏輯:一直顯示
交互:點擊返回上一級頁面
-關(guān)閉按鈕
顯示邏輯:打開第二個h5頁面顯示
交互:點擊關(guān)閉所有h5頁面
-導(dǎo)航欄標(biāo)題:
顯示邏輯:可設(shè)置隱藏箫荡,居中或左對齊,支持文字和圖片2種格式
交互:不可點擊
-更多“...”
顯示邏輯:默認一直顯示渔隶,可以隱藏
展開:依次是首頁羔挡、搜索洁奈、購物車、分享绞灼、功能反饋利术、消息
-更多左側(cè)
顯示邏輯:顯示購物車或分享,可設(shè)置顯示/不顯示低矮,也可以自定義印叁。
交互:點擊到購物車或拉起分享面板
2.其他功能
-支持登錄態(tài)打通
-請求登錄
-獲取手機基本信息等
通過上述栗子,可以看出有一些支持自定義的功能商佛,這就是接口來控制的喉钢。
示例