當前位置:
首頁 > 新聞 > 瀏覽器掌握的核心科技

瀏覽器掌握的核心科技

前段時間鬧得沸沸揚揚的紅芯瀏覽器將「瀏覽器內核」這個經久不衰的話題帶到了我們的面前。為什麼說它的的內核只是另一個「換皮 Chromium」?Chromium 怎麼聽起來這麼熟悉呢?

原因很簡單,因為 Chromium 是一個開源的瀏覽器,任何人都可以根據開源協議對它進行修改;而 Chromium 聽起來熟悉是因為它一個「人」撐起了國內瀏覽器行業的半壁江山。

什麼是「Chromium 內核」?

首先,內核也叫渲染引擎或者排版引擎,是一個瀏覽器的核心,有時候我們所說的內核除了渲染引擎以外也包含了 Javascript 引擎。其次,「Chromium 內核」指的是 Chromium 瀏覽器所使用的內核。與 Chrome 瀏覽器不同的是,Chromium 瀏覽器為開源項目,以 BSD 許可協議及多種其他許可來發行。更重要的是,Chromium 是一個開源項目,任何人都能就在 Chromium 的基礎上對瀏覽器進行二次開發。

Chromium 為開源項目,也是大多數瀏覽器中的核心科技

Chromium 與 Chrome 共享大部分的代碼,早期的 Chromium 也確實被當做是「開源先行版」,因大多數測試功能與新代碼都會先部署於 Chromium 項目上而不是更為正式的 Chrome 瀏覽器上。

可能是因為國內用戶對開源不太熟悉,也能是因為 Chromium 身上的「測試版」氣息過於濃厚,Chromium 在國內的知名度遠不如 Chrome 瀏覽器高;再加上 Chromium 與 Chrome 的關係十分緊密,因此在國內用戶口口相傳的過程中,「Chromium 內核」慢慢地變成了「Chrome 內核」。但由於版權的問題,各廠商不得在宣傳時將自己基於 Chromium 二次開發的瀏覽器稱之為 Chrome 瀏覽器,因此在宣傳頁面上他們標註的都是「基於 Chromium」。

同時,不少用戶(甚至部分廠商)在提及內核時都會使用「Chromium 內核」這樣的說法,實際上這樣並不準確,首先,上文有提到這個說法指的是「Chromium 使用的內核」;其次,瀏覽器與內核並不是一一對應的,Chromium 曾經更換過內核。且即使內核名字相同,不同版本的內核也可能會有相當大的差距,如 Trident 7.0 版本就支持了 WebGL 與 HTML5 的大部分標準。

那麼現在常見的瀏覽器都採用哪些內核呢?

Internet Explorer

早期的 IE 瀏覽器為微軟與 Spyglass 共同開發,採用 Trident 內核。由於對舊代碼兼容較好,部分長期沒有維護的網站要求在訪問時必須使用 IE 8 或更舊的版本。在 Windows 10 時代,微軟推出的 Edge 瀏覽器則改為使用 Edge 內核。但依然提供「通過 IE 打開」的選項,便於經常訪問舊式網站的用戶。

Safari

蘋果開發的 Safari 則採用了 WebKit 內核,這裡的內核並不專指渲染內核;因為 WebKit 由渲染引擎 WebCore 與 JavaScript 引擎 JSCore 組成。Safari 所使用的 WebKit 前身為 KHTML 引擎,因此可以理解為 Safari 是 KHTML 的一個開源分支,而當年蘋果決定以 KHTML 為引擎,很大程度上依賴於 KHTML 有著極快的渲染速度。

Chrome 與 Chromium

上文有提到 Chrome 與 Chromium 曾經更換過瀏覽器內核,在 2013 年之前,Chrome 與 Chromium 使用的是基於 WebKit 的渲染引擎。該分支引擎雖然基於 WebKit,但對 WebKit 的代碼進行了大量的梳理與優化,讓 Chrome 在誕生後不久就在市場上鞏固了自己的地位,也讓曾經的霸主 IE 成為了「谷歌瀏覽器下載器」。

從 Chrome 28.0.1469.0 開始,Chrome 棄用基於 WebKit 的 Chromium 引擎而轉用基於 WebKit2 的全新瀏覽器引擎 Blink,改善了代碼的同時也提高了內核的安全性。

Opera

提到瀏覽器則不得不提 Opera,雖然 Opera 的現況不太樂觀,但作為曾經的瀏覽器巨頭之一,Opera 的開發實力不容忽視。

Opera 的第一個里程碑為 2003 年發布的 Opera 7,這款瀏覽器採用了 Opera 自主研發的 Presto 引擎,而在此之前的版本則是用 Elektra 引擎。Presto 採用看全新的構架,且為內容提供動態排版功能;在後續的維護中 Presto 不斷加入新功能與新演算法,讓 Presto 一度成為了最快的引擎,也讓 Opera 瀏覽器成為了當時最快瀏覽器,後來 Presto 也開放授權為其他瀏覽器所使用。

隨著 Chrome 的興起,Opera 的市場份額漸漸被多次分割,獨自維護 Presto 引擎的難度與開始也越來越大。最終 Opera 決定棄自有的 Presto 引擎,跟隨 Chrome 使用基於 WebKit 的 Chromium 引擎;且在 Blink 推出之時決定再次跟隨 Chrome 改用 Blink,只可惜這也沒能將 Opera 從入不敷出的泥潭中拉出。

Firefox

同樣為國內用戶所熟知的 Firefox 則採用 Gecko 引擎。Gecko 本名為 Raptor,為開源引擎之一。後因版權問題被迫改名為 NGLayout,最終再次被網景改名為 Gecko。隨後不久網景被時代華納解散,Mozilla 基金會成立且接手了 Gecko 的開發與維護至今。

各個瀏覽器內核的活躍時期表(圖片來源 :維基百科)

為什麼基於Chromium?

國內的二次開發瀏覽器大多基於 Chromium 進行開發,在我看來主要原因有三個:

1.Chromium 是最為成熟的瀏覽器內核之一,開發環境相對穩定。

2.Chromium 運行效率較高。

3.Chromium 為開源瀏覽器內核。

例如微軟 Edge 瀏覽器採用的 Edge 內核,打開速度與平滑滾動甚至資源需求都比 Chromium 優秀,但因為 Edge 為微軟自有內核,因此各大公司沒辦法(或者不能合法的)對此逆向,因此無緣國內瀏覽器市場。

QQ 瀏覽器就在官方頁面上明確標註了使用 Chromium 63 內核

Chromium 憑藉上述的三個特點,火速成為了各大瀏覽器二次開發的對象。基於 Chromium 開發的瀏覽器我能想起來的就不下十款,比如:世界之窗瀏覽器、Sleipier 瀏覽器、楓葉瀏覽器、360 高速瀏覽器、QQ 瀏覽器、百度瀏覽器、獵豹瀏覽器、UC 瀏覽器、旗魚瀏覽器、紅芯瀏覽器以及更多。

而這次踏上風口浪尖的紅芯瀏覽器如果按照部分國內瀏覽器的標準來說,也算得上是自主開發。但如果使用開源程序卻不根據開源協議進行標註,就只能說這款「自主研發」的瀏覽器以及這款「自主研發」的內核在誠信公開這件事上不夠自主了。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 數字尾巴 的精彩文章:

傳 HTC 首款「區塊鏈手機」將於今年內登場
小米筆記本 GTX 版體驗:外形纖薄、性能澎湃

TAG:數字尾巴 |