瀏覽器核心比較

Web開發者發表於2012-02-12

  現在網路上瀏覽器是風生水起,IE、Opera、Firefox、Safari、The World還有現在的Chrome,360,TT,搜狗 等。那可謂是百家爭鳴。看似許多不同的瀏覽器,其實其中還是有很多相似之處。  

  瀏覽器最重要或者說核心的部分是“Rendering Engine”,可大概譯為“解釋引擎”,不過我們一般習慣將之稱為“瀏覽器核心”。負責對網頁語法的解釋(如HTML、JavaScript)並渲染(顯示)網頁。 所以,通常所謂的瀏覽器核心也就是瀏覽器所採用的渲染引擎,渲染引擎決定了瀏覽器如何顯示網頁的內容以及頁面的格式資訊。不同的瀏覽器核心對網頁編寫語法的解釋也有不同,因此同一網頁在不同的核心的瀏覽器裡的渲染(顯示)效果也可能不同,這也是網頁編寫者需要在不同核心的瀏覽器中測試網頁顯示效果的原因(給web工作者造成許多麻煩)。瀏覽器核心只是一個通俗的說法,其英文名稱為“Layout engine”,翻譯過來就是“排版引擎”,也被稱為“頁面渲染引擎。它負責取得網頁的內容(HTML、XML、影象等等)、整理資訊(例如加入CSS等),以及計算網頁的顯示方式,然後會輸出至顯示器或印表機。所有網頁瀏覽器、電子郵件客戶端以及其它需要編輯、顯示網路內容的應用程式都需要排版引擎。   

  瀏覽器的核心很多,但是主要來說分為以下四種。

  Trident: 
  
  
這是微軟開發的一種排版引擎。該核心程式在1997年的IE4中首次被採用,是微軟在Mosaic程式碼的基礎之上修改而來的,並沿用到目前的 IE7。Trident實際上是一款開放的核心,其介面核心設計的相當成熟,因此才有許多采用IE核心而非IE的瀏覽器湧現(如 Maxthon、The World 、TT、GreenBrowser、AvantBrowser等)。此外,為了方便也有很多人直接簡稱其為IE核心(當然也不排除有部分人是因為不知道內 核名稱而只好如此說,至少老N就是如此。。。)。自從釋出後,Trident不斷地被更新和完善:

  Trident II(IE5)——增進對CSS1.0的支援及對CSS2重大的變更;

  Trident III(IE5.5)——修正部分CSS的排版控制;

  Trident IV(IE6)——修正了一部分box-model的錯誤以及增加了“相容模式(Quirks Mode)”切換功能,以增加對檔案型別描述(Document Type Definition,DTD)的支援;

  Trident V(IE7)——修正許多CSS排版處理上的錯誤以及增加對PNG格式alpha通道(半透明)的支援。(這就是IE6經常被詬病的對png圖片支援不良的之處!)

  從Windows95到Xp的初期,由於IE和Windows的精誠“合作”,使得Trident核心長期一家獨大。微軟很長時間都並沒有更新Trident核心,這導致了兩個後果——一是Trident核心曾經幾乎與W3C標準脫節(2005年),二是Trident核心的大量 Bug等安全性問題沒有得到及時解決,然後加上一些致力於開源的開發者和一些學者們公開自己認為IE瀏覽器不安全的觀點,也有很多使用者轉向了其他瀏覽器,Firefox和Opera就是這個時候興起的。非Trident核心瀏覽器的市場佔有率大幅提高也致使許多網頁開發人員開始注意網頁標準和非IE瀏覽器的瀏覽效果問題。 

  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中使用。

  
Presto:
  
  
Presto是一個由Opera Software開發的瀏覽器排版引擎,該核心在2003年的Opera7中首次被使用,該款引擎的特點就是渲染速度的優化達到了極致,也是目前公認網頁瀏覽速度最快的瀏覽器核心

  
Webkit:
  
  
蘋果公司自己的核心,也是蘋果的Safari瀏覽器使用的核心。 Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎,均是從KDE的KHTML及KJS引擎衍生而來,它們都是自由軟 件,在GPL條約下授權,同時支援BSD系統的開發。所以Webkit也是自由軟體,同時開發原始碼。在安全方面不受IE、Firefox的制約,所以 Safari瀏覽器在國內還是很安全的。

 

簡單的總結一下:

使用Trident核心的瀏覽器:IE、Maxthon、TT、The World等;

使用Gecko核心的瀏覽器:Netcape6及以上版本、FireFox、MozillaSuite/SeaMonkey;

使用Presto核心的瀏覽器:Opera7及以上版本;

使用Webkit核心的瀏覽器:Safari、Chrome。

 使用Webkit和Trident雙核心瀏覽器:Maxthon3.x,QQ瀏覽器5,搜狗瀏覽器2.x,

相關文章