在介紹本系列各個(gè)專題之前,有必要先解釋一下極其容易混淆的幾個(gè)概念,它們是WebKit,WebKit2,Chromium和Chrome。
首先來(lái)了解WebKit。廣義上來(lái)說(shuō),WebKit是一個(gè)開(kāi)源的項(xiàng)目,其前身是來(lái)源于KDE的KHTML和KJS。該項(xiàng)目專注于網(wǎng)頁(yè)內(nèi)容的展示,開(kāi)發(fā)出一流的網(wǎng)頁(yè)渲染引擎。它不是瀏覽器,而且也不想成為瀏覽器。 該項(xiàng)目包含兩個(gè)部分,第一是WebCore,其中包含了對(duì)HTML,CSS等很多W3C規(guī)范的實(shí)現(xiàn);第二部分就是狹義上的WebKit,它主要是各個(gè)平臺(tái)的移植并提供相對(duì)應(yīng)的Web接口,也就是WebView或者類似WebView,這些接口提供操作和顯示網(wǎng)頁(yè)的能力。目前使用WebKit的主流的瀏覽器或者WebView包括Chrome, Safari, QtWebKit, Android Browser以及眾多的移動(dòng)平臺(tái)的瀏覽器。
WebKit2相對(duì)于狹義上的WebKit而言,它不是WebKit簡(jiǎn)單的第二個(gè)版本,它是一個(gè)新的API層,其最主要的變化在于將網(wǎng)頁(yè)的渲染置于單獨(dú)的進(jìn)程,而接口層則在另外一個(gè)進(jìn)程,它們之間通過(guò)IPC來(lái)通訊。對(duì)于接口的調(diào)用者來(lái)說(shuō),中間的IPC和底下的實(shí)現(xiàn)是透明的,這樣做的好處有很多,一個(gè)很明顯的好處是,當(dāng)網(wǎng)頁(yè)的渲染出現(xiàn)問(wèn)題時(shí),不會(huì)阻礙Web接口的調(diào)用者進(jìn)程,這會(huì)在很大程度上解決或者幫助解決瀏覽器或者這些調(diào)用者的穩(wěn)定性和安全性等問(wèn)題。
Chromium是一個(gè)建立在WebKit之上的瀏覽器開(kāi)源項(xiàng)目,由Google發(fā)起的。該項(xiàng)目被創(chuàng)建以來(lái)發(fā)展迅速,很多先進(jìn)的技術(shù)被采用,如跨進(jìn)程模型,沙箱模型等等。同時(shí),很多新的規(guī)范被支持,例如WebGL,Canvas2D,CSS3以及其他很多的HTML5特性,基本上每天你都可以看到它的變化,它的版本升級(jí)很快。在性能方面,其也備受稱贊,包括快速啟動(dòng),網(wǎng)頁(yè)加載迅速等。
Chrome是Google公司的瀏覽器產(chǎn)品,它基于chromium開(kāi)源項(xiàng)目,一般選擇穩(wěn)定的版本作為它的基礎(chǔ),它和chromium的不同點(diǎn)在于chromium是開(kāi)源試驗(yàn)場(chǎng),會(huì)嘗試很多新的東西,當(dāng)這些東西穩(wěn)定之后,chrome才會(huì)集成進(jìn)來(lái),這也就是說(shuō)chrome的版本會(huì)落后于chromium。另外一個(gè)就是,chrome里面會(huì)加入一些私有的codec,這些僅在chrome中才會(huì)出現(xiàn)。再次,chrome還會(huì)整合Google的很多服務(wù), 最后chrome還會(huì)有自動(dòng)更新的功能,這也是chromium所沒(méi)有的。
聯(lián)系客服