Webview是基於webkit的引擎,可以解析DOM元素,顯示html頁面的控件。它和瀏覽器顯示頁面的原理是壹樣的,所以可以看作是瀏覽器。(chrome瀏覽器也是基於webkit引擎開發,Mozilla瀏覽器基於Gecko引擎開發。)
Android的Webview在低配版和高配版使用不同的webkit版本,4.4之後直接使用Chrome。(推薦學習:web前端視頻教程)
webview主要用在哪裏?或者說webview會有哪些使用需求?
我個人理解的html頁面可以在電腦上顯示,通過瀏覽器打開頁面就可以瀏覽。在手機系統層面,沒有webview支持就無法顯示html頁面,所以webview用於手機系統顯示html界面。
所以主要是在手機系統需要加載html文件的時候需要。
本機應用調用html頁面的過程?
1.原生應用加載html頁面(加載頁面的方式可能有很多種,比如加載本地編寫的html文件或者放在服務器上的文件)。
2.加載後,演示文稿通過webview呈現。如果系統沒有webview,就不可能呈現html格式的演示文稿。
第二步其實原生應用調用html頁面的過程已經完成,所以頁面可能不僅僅是顯示,有時候可能還需要交互。這裏需要寫壹些方法,比如html界面上的按鈕需要調用系統原生的東西(比如拍照、系統文件、相冊等。).原生端負責維護html調用的接口,然後按需返回(原生端充當服務器,html充當客戶端)。
使用webview有什麽好處?
Native APP將頁面布局設計和業務代碼打包,然後用戶下載安裝使用,webview則通過加載html文件來顯示頁面。當頁面布局需要更新或者業務邏輯需要改變時,如果是原生APP,需要修改前端內容,升級,打包,重新發布使用最新的。
另壹方面,webview頁面只需要修改html代碼或js文件(如果是從服務器獲取,只要部署新文件),用戶刷新後就可以使用更新後的頁面,無需下載安裝。