各大瀏覽器內核(Rendering Engine)

記得剛開始寫網頁的時候,聽童鞋們說各大瀏覽器的內核,也是懵懵懂懂的,知一不知其二,今天特意查一下: 程序員

內核只是一個通俗的說法,其英文名稱爲「Layout engine」,翻譯過來就是「排版引擎」,也被稱爲「頁面渲染引擎」(下文中各類說法通用)。它負責取得網頁的內容(HTML、XML、圖像等等)、整 理信息(例如加入CSS等),以及計算網頁的顯示方式,而後會輸出至顯示器或打印機。全部網頁瀏覽器、電子郵件客戶端以及其它須要編輯、顯示網絡內容的應 用程序都須要排版引擎。 web

瀏覽器最重要或者說核心的部分是「Rendering Engine」,可大概譯爲「解釋引擎」,不過咱們通常習慣將之稱爲「瀏覽器內核」。負責對網頁語法的解釋(如HTML、JavaScript)並渲染(顯示)網頁。 chrome

因此,一般所謂的瀏覽器內核也就是瀏覽器所採用的渲染引擎,渲染引擎決定了瀏覽器如何顯示網頁 的內容以及頁面的格式信息。不一樣的瀏覽器內核對網頁編寫語法的解釋也有不一樣,所以同一網頁在不一樣的內核的瀏覽器裏的渲染(顯示)效果也可能不一樣,這也是網 頁編寫者須要在不一樣內核的瀏覽器中測試網頁顯示效果的緣由。 瀏覽器

瀏覽器內核不少,若是加上全部的幾乎沒有什麼人在用的非商業的免費內核,那麼可能大約有10款以上甚至更多,不過一般咱們比較常見的大約只有如下四種,下面先簡單介紹一下。 安全

Trident

Trident: IE瀏覽器使用的內核,該內核程序在1997年的IE4中首次被採用,是微軟在Mosaic代碼的基礎之上修改而來的,並沿用到目前的IE8。 Trident其實是一款開放的內核,其接口內核設計的至關成熟,所以纔有許多采用IE內核而非IE的瀏覽器涌現(如 Maxthon、The World 、TT、GreenBrowser、AvantBrowser等)。此外,爲了方便也有不少人直接簡稱其爲IE內核(固然也不排除有部分人是由於不知道內 核名稱而只好如此說)。 網絡

因爲IE自己的「壟斷性」(雖然名義上IE並不是壟斷,但實際上,特別是從Windows 95年代一直到XP初期,就市場佔有率來講IE的確藉助Windows的東風處於「壟斷」的地位)而使得Trident內核的長期一家獨大,微軟很長時間 都並無更新Trident內核,這致使了兩個後果——一是Trident內核曾經幾乎與W3C標準脫節(2005年),二是Trident內核的大量 Bug等安全性問題沒有獲得及時解決,而後加上一些致力於開源的開發者和一些學者們公開本身認爲IE瀏覽器不安全的觀點,也有不少用戶轉向了其餘瀏覽 器,Firefox和Opera就是這個時候興起的。非Trident內核瀏覽器的市場佔有率大幅提升也導致許多網頁開發人員開始注意網頁標準和非IE瀏 覽器的瀏覽效果問題。 架構

表明瀏覽器:IE4,IE5,IE6,IE7,IE8,IE9,Maxthon,The World,GreenBrowser,騰訊TT等。 ide

Gecko

Gecko: Netscape6開始採用的內核,後來的Mozilla FireFox也採用了該內核,Gecko的特色是代碼徹底公開,所以,其可開發程度很高,全世界的程序員均可覺得其編寫代碼,增長功能。由於這是個開源 內核,所以受到許多人的青睞,Gecko內核的瀏覽器也不少,這也是Geckos內核雖然年輕但市場佔有率可以迅速提升的重要緣由。 測試

事實上,Gecko引擎的由來跟IE不無關係,前面說過IE沒有使用W3C的標準,這致使了微 軟內部一些開發人員的不滿;他們與當時已經中止更新了的 Netscape的一些員工一塊兒創辦了Mozilla,以當時的Mosaic內核爲基礎從新編寫內核,因而開發出了Geckos。不過事實上,Gecko 內核的瀏覽器仍然仍是Firefox用戶最多,因此有時也會被稱爲Firefox內核。此外Gecko也是一個跨平臺內核,能夠在Windows、 BSD、Linux和Mac OS X中使用。 優化

表明瀏覽器:Netscape,Mazilla Firefox;

Presto

Presto: 目前Opera採用的內核,該內核在2003年的Opera7中首次被使用,該款引擎的特色就是渲染速度的優化達到了極致,也是目前公認網頁瀏覽速度最快的瀏覽器內核,然而代價是犧牲了網頁的兼容性。

實際上這是一個動態內核,與前面幾個內核的最大的區別就在腳本處理上,Presto有着天生的 優點,頁面的所有或者部分都可以在迴應腳本事件時等狀況下被從新解析。此外該內核在執行Javascrīpt的時候有着最快的速度,根據在同等條件下的測 試,Presto內核執行同等Javascrīpt所需的時間僅有Trident和Gecko內核的約1/3(Trident內核最慢,不過二者相差沒有 多大)。只惋惜Presto是商業引擎,使用Presto的 除開Opera之外,只剩下NDSBrowser、Wii Internet Channle、Nokia 770網絡瀏覽器等,這很大程度上限制了Presto的發展。

表明瀏覽器:Opera,NDSBrowser,Wii Internet Channle,Nokia 770;

Webkit

Webkit:蘋果公司本身的內核,也是蘋果的Safari瀏覽器使用的內核。 Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎,均是從KDE的KHTML及KJS引擎衍生而來,它們都是自由軟 件,在GPL條約下受權,同時支持BSD系統的開發。因此Webkit也是自由軟件,同時開放源代碼。在安全方面不受IE、Firefox的制約,因此 Safari瀏覽器在國內仍是很安全的。

限於Mac OS X的使用不普遍和Safari瀏覽器曾經只是Mac OS X的專屬瀏覽器,這個內核自己應該說市場範圍並不大;但彷佛根據最新的瀏覽器調查代表,該瀏覽器的市場甚至已經超過了Opera的Presto了——固然 這一方面得益於蘋果轉到x86架構以後的人氣暴漲,另外也是由於Safari 3終於推出了Windows版的緣故吧。Mac下還有OmniWeb、Shiira等人氣很高的瀏覽器。

google的chrome也使用webkit做爲內核。

WebKit 內核在手機上的應用也十分普遍,例如 Google 的手機 Gphone、 Apple 的 iPhone, Nokia’s Series 60 browser 等所使用的 Browser 內核引擎,都是基於 WebKit。

2010年4月8日最新的搜狗瀏覽器也是採用了webkit內核,號稱雙引擎內核,呼聲很高,期待其發展。

表明瀏覽器:Safari,Chrome;

相關文章
相關標籤/搜索