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