幾種瀏覽器的內核

目前世界上主要的瀏覽器,一個手指可以數的過來(不包括 Maxthon 調用其他瀏覽器的這類),主要有:IE、Firefox、Opera、Konqueror 以及 Safari。

IE 使用 Trident 引擎,閉源,只有微軟的 IE 在使用,類似 Maxthon之類的 IE MOD,只是在調用 IE,沒有調用底層的引擎,目前市場佔有率世界第一。

Firefox 使用 Gecko 引擎,就是以前的 Netscape 使用的 Mozilla 引擎,Netscape 倒了以後,成立了 Mozilla 基金會,將這個引擎完全重寫,開源,使用這個引擎的還有 K-Meleon/Flock 比較知名,因爲跨平臺,加上 IE6 以後,微軟遲遲不發新版本,市場佔有率達到了第二。

Konqueror:使用 KDE 小組自己開發的 KHTML 引擎,開源,速度非常快。

Safari 使用的引擎是蘋果公司根據 KHTML 修改來的 WebCore(還是叫 WebKit?我查到兩種說法),閉源,IPhone 上的瀏覽器也是用這個引擎,由於蘋果的關係,市場佔有率反而比 Konqueror 高很多。

Opera 的引擎是 Presto,閉源,也是跨平臺的,速度也很快,原先的老二,但是現在被 Firefox 完全打敗了。

微軟的IE是個很霸道的瀏覽器,他的Frontpage和Word生成HTML頁面很多時候只有IE才能讀取,其他的瀏覽器均會出毛病。其根本原因是IE自創了許多非標準的HTML語法,與XHTML精神背道而馳。Firefox爲了佔領市場,現在也在越來越多的支持IE語法。但當一個瀏覽器支持的語法過於複雜的時候,它的排版速度也會變慢。Konqueror是一個十分嚴格的瀏覽器,它採用了十分苛刻的KHTML引擎。

現在瀏覽器進入了百家爭鳴,一家獨大的局面。其實在10多年前就有過一場瀏覽器大戰。1994年10月13日Mosaic Netscape 0.9上市,這套軟件後來更名爲Netscape Navigator。Netscape Navigator爲各操作系統的用戶提供一個一致的因特網使用體驗,即跨平臺。這吸引到微軟的注意。因爲它無視操作系統,微軟視它爲對Microsoft Windows的直接威脅。作爲Windows 95的Microsoft Plus!附購品,微軟釋出Internet Explorer 1.0。微軟以最快的速度推出了數個連續版本的Internet Explorer。那些版本都是隨Windows附送的,用戶可免費使用(Netscape Navigator當時是收費的)。這個時期現在稱爲“瀏覽器大戰”。爲了超越對方,當時網景和微軟都分別在它們的瀏覽器上加上許多功能(雖然未必能正常運作),版本號碼亦增加得很快(雖然未必合乎邏輯)。因爲擁有專注的人力和財力,Internet Explorer當時是處於上方的。到4.0版,用戶認爲Internet Explorer運作上是比較穩定的。在對於網景其他的產品,微軟亦提供了相對應的免費產品,例如隨Windows NT附送的Internet Information Server(IIS)服務器軟件。Netscape最終被IE完全打敗了。現在的Netscape Browser是一款在Windows操作系統執行的網頁瀏覽器,由美國在線(AOL)發行,開發方面則委託加拿大公司Mercurial Communications負責。該款瀏覽器是自網景通訊公司結束瀏覽器開發業務後,首款以Netscape名義推出的瀏覽器,也是Netscape瀏覽器系列的延續。2008年3月,網景官方正式倒閉。

目前很流行的Firefox在很多方面都超越了IE,它的內核是Gecko。Gecko是套開放原始碼的、以C++編寫的網頁排版引擎。目前爲Mozilla家族網頁瀏覽器以及Netscape 6以後版本 瀏覽器所使用。這軟件原本是由網景通訊公司開發的,現在則由Mozilla基金會維護。這套排版引擎提供了一個豐富的程序界面以供因特網相關的應用程序使用,例如網頁瀏覽器、HTML編輯器、客戶端/服務器等等。雖然最初的主要對象是Mozilla的衍生產品,如Netscape和Mozilla Firefox,現在已有很多其他軟件現在利用這個排版引擎。Gecko是跨平臺的,能在Microsoft Windows、Linux和Mac OS X等主要操作系統上運行。Gecko爲第2個最流行的排版引擎,僅次於Trident(用於Windows版的Internet Explorer)。

在版本上,Netscape Browser屬於第8版,建基於Mozilla Firefox,而第6及7版則是基於Mozilla Suite。 KHTML是HTML網頁排版引擎之一,由KDE所開發。

KDE系統自KDE2版起,在檔案及網頁瀏覽器使用了KHTML引擎。該引擎以C++編程語言所寫,並以LGPL授權,支援大多數網頁瀏覽標準。由於微軟的Internet Explorer的佔有率相當高,不少以FrontPage製作的網頁均包含只有IE才能讀取的非標準語法,爲了使KHTML引擎可呈現的網頁達到最多,部分IE專屬的語法也一併支援。

KHTML擁有速度快捷的優點,但對錯誤語法的容忍度則比Mozilla產品所使用的Gecko引擎小。

蘋果電腦於2002年採納了KHTML,作爲開發Safari瀏覽器之用,併發布所修改的最新及過去版本源代碼。後來發表了開放源代碼的WebCore及WebKit引擎,它們均是KHTML的衍生產品,在開發網站列出引擎改變內容,並會傳回至KDE計劃。由於兩個衍生產品各走不同路線,使兩者源代碼偏離,在與KDE交換更新會出現困難[1]。其中一個原因,是蘋果在對外公開源代碼之前,以一年時間編修他們的 KHTML。另外,蘋果傳送更新至KDE計劃的方式,多是一口氣把大量改動一起傳送,KDE在整理資料也出現一定的困難,及後蘋果表示會以CVS格式來傳送。再者,蘋果所作出的改動包括Mac OS X系統獨有的事物,如Objective-C、KWQ等,在Linux及KHTML是沒有的。但KDE方面仍透過這些改動,爲KHTML加入新功能及加快其排版速度。

相關日誌