WebKit是什么
看了這片文章,總結(jié)了下WebKit到底是什么。
http://www.paulirish.com/2013/webkit-for-developers/
現(xiàn)在基于WebKit的瀏覽器已經(jīng)無處不在了,恐怕除了微軟的IE以及Mozilla的Firefox,其他瀏覽器已經(jīng)全被WebKit給占據(jù)了。
那WebKit到底是什么呢?要回答這個問題,首先讓我們來看一下什么是瀏覽器是:
·??????瀏覽器是一多媒體程序,它能夠查看視頻、圖片以及播放音樂,所以它需要支持各種視頻、圖片和音頻的解碼。
·??????瀏覽器是一個圖形程序,它需要對字體和圖形進行渲染。
·??????瀏覽器是一個網(wǎng)絡(luò)程序,它需要支持HTTP,FTP等各種網(wǎng)絡(luò)協(xié)議。
·??????瀏覽器是一個翻譯程序,它需要把HTML,CSS,Javascript等翻譯成形象的可互動的網(wǎng)頁。
·??????瀏覽器是一個關(guān)鍵程序,所以它需要各種硬件加速。
瀏覽器是一個多面手,他需要平臺提供各種各樣的服務(wù)如多媒體解碼、渲染、網(wǎng)絡(luò)支持、硬件加速等等。
下面看看WebKit的結(jié)構(gòu):
可以看到WebKit好像一個三明治:
·??????上層,WekKitEmbedding API,給圖形界面提供服務(wù)的接口。
·??????中間層,WebCore實現(xiàn)了對HTML和CSS的解析,相應(yīng)DOM的生成,以及網(wǎng)頁元素在屏幕上的布局。JSCore顧名思義是一個Javascript的解析器。
·??????下層,PlatformAPI,告訴底層平臺WebKit需要什么樣的服務(wù)。
其實,上面的這個圖中,除了WebCore其他都是可以替換的;)
可以看出來,光有WebKit是完成不了一個瀏覽器的,還需要圖形界面和底層平臺。此外還有一個概念叫WebKitPort。就像藥品里面有中成藥一樣,WebKit瀏覽器也有中成品,即WebKitPort。所謂WebKit
?Port就是WebKit加上已經(jīng)實現(xiàn)了的一套完整或者不完整的圖形界面和底層平臺套裝。拿Chromium來說,它本身一個完整的瀏覽器,而360瀏覽器是基于Chromium這個WebKit Port實現(xiàn)的瀏覽器。
總結(jié)
- 上一篇: Android DRM
- 下一篇: Cassandra - A Decent