各大瀏覽器內核(Rendering Engine)


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

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

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

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

瀏覽器內核很多,如果加上所有的幾乎沒有什么人在用的非商業的免費內核,那么可能大約有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等。

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;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM