WebKit架构
下圖為Webkit的架構圖,不同的廠商瀏覽器有不同的webkit移植(Ports),所以在整個webkit項目中,就存在部分代碼是不共享的,例如下圖中的藍色部分,在不同廠商瀏覽器的webkit中實現就是不一樣的,而綠色部分則基本上是一樣的,但也可能會有一小部分特性不一樣。下面我們就簡單介紹一下這些模塊。
操作系統:這個比較好理解,WebKit可以運行在不同的操作系統上,例如QTWebkit可以運行在Windows或Linux系統,同一個瀏覽器使用的Webkit也可以依賴不同的操作系統,例如Chromium瀏覽器支持Windows、Linux、Android等系統;
第三方庫:位于操作系統之上,這些庫是WebKit運行的基礎,包括圖形庫、網絡庫、音視頻庫等等;
WebCore:該模塊是WebKit加載和渲染網頁的基礎,是不同瀏覽器所使用的WebKit中共享的部分,包括HTML解析器、CSS解析器、SVG、布局、渲染樹等等;
JavaScript引擎:JavaScript解析器,WebKit默認的引擎是JavaScriptCore,Google的Blink替換為自家開發的V8引擎;
WebKit Ports:WebKit中的移植部分,包括網絡棧、音視頻解碼、硬件加速等模塊,這部分對WebKit的功能和性能影響比較大。
WebKit嵌入式接口:WebKit對外暴露的接口層,這個接口是提供給瀏覽器調用的,例如給chromium調用,因為接口與具體的移植也有關系,所以中間會有一個WebKit綁定層;
總結
- 上一篇: 2018上半年这10本新书,技术大牛们都
- 下一篇: 只有年轻人才能做数据分析师吗?