簡析Chrome和Webkit的淵源

文章來源:http://www.3lian.com/edu/2012/05-25/28803.html


  互聯網的浪潮從未停息,而用以網上衝浪的衝浪板也一直在變得愈加精良。自人們進入互聯網時代以來,即已經發生了三次瀏覽器大戰。第一次瀏覽器大戰的主角是IE和Netscape,最終IE憑藉着Windows的龐大身軀推倒了Netscape;第二次瀏覽器大戰Netscape浴火重生化身爲火狐狸Firefox,一口咬了IE身上一大塊肥肉;正在Firefox和IE正纏綿不息之時,突然憑空殺出個Chrome——這名出身豪門Google的小夥子一下子成長得額外精壯,上串勢頭兇猛,追得兩位前輩嬌喘吁吁。

  Chrome正在猛擊兩位前輩

  這位Chrome究竟是何方人物,能練就如此神功,在短短几年內就成爲互聯網瀏覽的一大主流,市場份額趕超了Firefox不說,甚至還曾在短時間內壓過了微軟帝國的IE,形成天下三分的第三次瀏覽器大戰的格局?

  Chrome已在市場份額上擊敗了Firefox

  Chrome的血統

出於好奇,不少人都八卦了一下Chrome的來歷,然後發現Chrome的背後深藏着Webkit這個名字。對瀏覽器有所研究的朋友,應該也會或多或少地聞過Webkit的大名。Webkit源於KDE開源項目,興盛於蘋果公司的Safari項目,它身上有諸多創新,近年來風行的HTML5以及CSS3潮流都和Webkit脫不開關係。Webkit小巧、靈活但又十分強大,而且源代碼開放,深得業界喜愛。從諾基亞S60上的瀏覽器,到價比腎貴的iPhone上的Safari,我們都能看到Webkit的身影。

  Google從來都不是嗅覺遲鈍的公司,Webkit的優秀自然也吸引了這位互聯網梟雄的眼光。2008年9月,Google發佈了Chrome的測試版,Chrome面世了。Chrome使用了Webkit的代碼,繼承了Webkit的優良排版引擎,渲染頁面速度驚人。

  Chrome首個測試版

  既然Chrome使用了Webkit的源代碼,也使用了Webkit的排版引擎,那麼我們是否就可以認爲,Google只是在Webkit上面加了一層殼就做出了Chrome呢?

  Chrome的基因突變

Chrome是Webkit的馬甲,這種說法並不準確。實際上Webkit由兩部分組成,一部分是WebCore排版引擎,用以解析HTML語言和 CSS框架;另一部分爲JSCore JavaScript執行引擎,用以執行網頁JS腳本。Chrome只是繼承了Webkit的WebCore部分,在JS引擎上使用了Google引以爲豪的“V8”引擎,大大地提高了腳本執行速度,這也是爲什麼Chrome會如此快的重要原因。

Webkit包括WebCore和JSCore

  Webkit包括WebCore和JSCore

  不僅如此,Chrome還在Webkit上封裝了一層Webkit Glue,Chrome中只調用Webkit Glue層的接口使用Webkit組件。與此同時,Chrome的源代碼和Webkit也有了很大區別,Google對Webkit的源代碼重新進行了梳理,使代碼的可讀性更好,編譯效率更高,並擁有自己的開源項目——Chromium。

  Chromium和Chrome:試製品和成品

既然提到了Chromium,這裏就順帶談一下Chromium和Chrome的區別。不知道從什麼時候開始,流行着這樣一種說法——Chrome開源。這是錯誤的。Chrome並非一款自由軟件,也沒有開放源代碼。甚至和Firefox比起來,Chrome還很封閉——因爲它無法提供像Firefox一樣繁多而高權限的應用接口,這使得Chrome在擴展以及界面定製方面都不如Firefox自由。那Chrome是開源軟件一說何來之有?

  Firefox十分開放

之所以這種說法,多是因爲人們把Chrome和Chromium搞混了。雖然名字很像,圖標界面功能什麼的都差不多,也同樣隸屬於Google,但事實上這兩者真的不同。Chromium是一款自由軟件,遵循BSD許可證開源,開發者可以使用Chromium的源代碼進行開發。我們可以認爲 Chromium是Google爲了發展Chrome而開啓的開源計劃,Chromium相當於Chrome的實驗開源版。兩者功能也有微妙的差異,Chrome比Chromium多了PDF閱讀器、Flash Player及Google Update等一些小部件。

Chromium(左)和Chrome

  Chromium(左)和Chrome

  簡單來說,Chromium是一個實驗項目,Chrome則是一件商品。開發者所能使用的代碼只能是開源的Chromium,而不會是閉源的 Chrome。若聽到有人說,某某瀏覽器基於Chrome內核,速度快得很!這時候我們應該知道,這款瀏覽器實際上使用的是Chromium內核。

  廣受歡迎的Chromium

  目前使用Chromium內核的著名國產瀏覽器有360極速瀏覽器、搜狗瀏覽器、世界之窗瀏覽器極速版等等,爲數不少。但我們發現,在國內雖然Chromium內核很受瀏覽器廠商歡迎,但是更原始的Webkit卻幾近無人問津。這又是爲何?

  人們更熱衷於Chromium

  當然這也是有原因的。前面提到,Google對Webkit的代碼重新梳理,Chromium代碼的可讀性和編譯效率遠比Webkit高。對比 Chromium的代碼,Webkit的代碼堪比天書,開發難度高得多。Webkit這貨不是你想弄,想弄就能弄的啊。更何況Chromium的V8 JS引擎比Webkit的JSCore效率更高,好用又強大的東西幹嘛不用呢。

  鑑於Chromium和Webkit擁有較大的區別,我們不應該單純地認爲Chrome/Chromium只是在Webkit上面套一個馬甲。給Google的工程師們一些掌聲吧,因爲他們的優秀和努力,世界上多了一個優異的瀏覽器內核。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章