Android webkit
Webkit是一個開源的瀏覽器排版和渲染引擎,包含WebCore和JavascriptCore。WebKit有眾多的實現(Qt、Gtk, windows, chromium, android, etc)。
Android 4.0平台的Web引擎架構採用了WebKit中的WebCore,javascript引擎則是採用google的V8引擎。Android 4.0的webkit採用了和chromium 12.0.742.130中webkit相同的codebase,webkit版本為534.30。
由於Android系統本身是用Java編寫的,那麼,webkit與系統相關部分只能用Java編寫,同時也可以提供一些Java API提供給應用開發人員調用,而由於webkit底層的排版部分與系統關係不是很大,則使用C/C++編寫。那麼,Android webkit的結構就很清晰了,分為:Java層和C層。兩者的通訊通過Java Native Interface實現。
WebView
WebView是處於Java層的視圖模組,通常在Android Native App中插入的html頁面也是構建與WebView之上,包括了頁面的瀏覽,請求的處理。這也就是為什麼WebView的出鏡率比Android Webkit本身還要高。很多Native App在開發的時候,部分更新率高的模組,都會選擇使用WebView來渲染html頁面,從而可以方便內容更新。
在C層中也有一個WebView模組,C層中的WebView模組負責初始化並構造WebView對象,然後將其賦值給Java層的WebView。之後兩者就可以進行通訊了。 Chrome
關於Android chrome,更多就是一些小道訊息了。 chrome for Android是Chromium的派生。 Android內建瀏覽器雖然與Chrome有一些共用代碼,但是兩者有非常大的區別,兩個Team Dev進行了兩種完全不同的開發。
未來Android瀏覽器和chrome for Android之間必然會統一。