webview基礎了解

author=“jolting”

date=“2018-07-27”

今天開發人員進行知識分享,分享主題是:安卓原生與H5的交互,開發講的什么方法調用啥的,沒記住,也想著不用去了解,大致了解一下webview,分享結束還有許多疑問,然后自己回憶整理了一下,有什么不對的歡迎指出

1.webview是什么?作用是什么?和瀏覽器有什么關系?

Webview?是一個基于webkit引擎,可以解析DOM 元素,展示html頁面的控件,它和瀏覽器展示頁面的原理是相同的,所以可以把它當做瀏覽器看待。(chrome瀏覽器也是基于webkit引擎開發的,Mozilla瀏覽器是基于Gecko引擎開發的)

Android的Webview在低版本和高版本采用了不同的webkit版本內核,4.4后直接使用了Chrome。

2.webview主要用于什么地方?或者說什么需求下會使用到webview?

個人理解,電腦上展示html頁面,通過瀏覽器打開頁面即可瀏覽,而手機系統層面,如果沒有webview支持,是無法展示html頁面,所以webview的作用即用于手機系統來展示html界面的

所以它主要在需要在手機系統上加載html文件時被需要

3.一個原生應用調用html頁面的過程?

1.原生應用加載html頁面(加載頁面的方式可能有多種,比如加載本地寫好的html文件,或者放置在服務器的文件)

2.加載完成,展示就是通過webview來渲染展示的,如果系統沒有webview,則是無法渲染展示html的

3.1,2步其實一個原生應用調用html頁面過程已經完成了,那么頁面不光展示,有時候可能還需要交互,這里的話就需要寫一些方法了,比如html界面的按鈕需要調用系統原生的東西(比如:拍照,系統的文件,相冊之類的)。原生端就負責維護html調用的接口,然后按照需要返回(原生端充當一個server的角色,html充當一個client角色)

4.使用webview的好處?

原生APP是將頁面的布局設計,以及業務代碼打包然后用戶下載安裝使用,而webview是通過加載html文件來進行頁面的展示,當需要更新頁面布局的或者業務邏輯變更時,如果是原生的APP就需要修改前端內容,升級打包,重新發布才可以使用最新的。

通過webview方式的頁面則只需要修改html代碼或者js文件(如果是從服務器端獲取,只要新的文件部署完成),用戶重新刷新就可以使用更新后的,無需通過下載安裝的方式完成升級

5.安卓系統內置瀏覽器,自帶瀏覽器?內置瀏覽器和自帶瀏覽器是一個概念?

引用開發回答給我的:安卓系統內置瀏覽器和我們在手機中用的瀏覽器App(如uc瀏覽器,google瀏覽器,QQ瀏覽器)不是一個概念,webView是Google 官方為開發者提供的一個瀏覽器控件,我們開發者可以集成到App中,而我們用的各個廠商的App瀏覽器產品好多并不是用的谷歌官方提供的webView控件,他們集成的都是經過自己深度定制了的類似webView這么個東西。

基于第一句:我的疑問是在網絡上看有說:國內安卓系統是沒有內置chrome,國外的話可能會內置chrome

開發回答:“說錯了,沒有內置一說,國內是沒有內置的瀏覽器,我剛才說的內置的指的是谷歌官方提供給開發者的瀏覽器內核,當然能開發瀏覽器內核的當然不止谷歌,還有很多其他第三方廠商”

基于最后一句話,我的理解是:主流的瀏覽器比如UC,都是基于webkit引擎的 webview的引擎話也是webkit 可以理解為webview和各大瀏覽器相當于屬于不同的控件?

開發回答:對,就是這么個道理

至此webview,內置瀏覽器,以及自帶瀏覽器的概念就有了大致的了解了

國內手機的自帶瀏覽器不是chrome,主要是版權的原因,自帶的瀏覽器都是手機廠商基于國內主流的幾大瀏覽器自己定制,然后發布在自己手機系統版本中.不過國內幾大瀏覽器廠商如QQ瀏覽器,UC瀏覽器、都是基于webkit引擎的

iphone的自帶瀏覽器是Safari,Safari瀏覽器的內核是webkit

6.APP webview展示的頁面和通過手機瀏覽器打開的頁面?

基于6,不管是ios還是安卓,自帶瀏覽器底層都是基于webkit的,然后各自系統中均帶有webview控件,也是基于webkit引擎,所以不管通過APP調用webview展示html頁面還是通過在瀏覽器打開html頁面,效果是一樣的。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1、通過CocoaPods安裝項目名稱項目信息 AFNetworking網絡請求組件 FMDB本地數據庫組件 SD...
    陽明AGI閱讀 16,003評論 3 119
  • 譚潭潭閱讀 123評論 0 0
  • 情人節你在陪前男友睡? 作者:小安 1 不可避免又到了一年一度撒狗糧的時候了,滿世界都在談戀愛,而我在單身。 這是...
    阿雅克肖Aay閱讀 764評論 1 0
  • 所有的愛情,都基于欣賞。 世界上好看的外表千千萬萬,但吸引你的靈魂,讓你產生心靈共鳴的契合的靈魂伴侶,卻并不是一開...
    歐圓圓閱讀 87評論 0 0
  • 我是一個建學學學生 這幾天,學校組織我們專業的學生來到本溪的一個小山村寫生。來之前,對這里充滿了好奇,畢竟第一次過...
    Angela_2e6a閱讀 376評論 0 0