瀏覽器內核Trident/Gecko/WebKit/Presto

“瀏覽器內核”主要指渲染引擎(Rendering Engine),負責解析網頁語法(如HTML、JavaScript)並渲染、展示網頁。因此,所謂的瀏覽器內核通常也就是指瀏覽器所採用的渲染引擎,渲染引擎決定了瀏覽器如何顯示網頁的內容以及頁面的格式信息。不同的瀏覽器內核對網頁編寫語法的解析也有所不同,因此同一網頁在不同的內核瀏覽器裏的渲染、展示效果也可能不同。

  瀏覽器內核種類繁多,商用的加上非商業的免費內核,大約會超過10款,我們今天重點看一下目前主流的四大瀏覽器內核Trident、Gecko、WebKit以及Presto。

瞭解網頁瀏覽器四種主要內核

  一、Trident內核(代表:Internet Explorer

  說起Trident,很多人都會感到陌生,但提起IE(Internet Explorer)則無人不知無人不曉,由於其被包含在全世界使用率最高的操作系統Windows中,得到了極高的市場佔有率,所以我們又經常稱其爲IE內核。

  Trident(又稱爲MSHTML),是微軟開發的一種排版引擎。它在1997年10月與IE4一起誕生,一直在被不斷地更新和完善。而且除IE外,許多產品都在使用Trident核心,比如Windows的Help程序、RealPlayerWindows Media PlayerWindows Live Messenger、Outlook Express等等都使用了Trident技術。

  Trident實際上是一款開放的內核,Trident引擎被設計成一個軟件模塊,使得其他軟件開發人員很容易將網頁瀏覽功能加到他們自行開發的應用程序裏,其接口內核設計相當成熟,因此涌現出許多采用IE內核而非IE的瀏覽器,但是Trident只能用於Windows平臺。使用Trident渲染引擎的瀏覽器包括:IE、傲遊世界之窗瀏覽器Avant、騰訊TT、Sleipnir、GOSURFGreenBrowserKKman等。

  二、Gecko內核(代表:Mozilla Firefox

  Gecko是開放源代碼、以C++編寫的網頁排版引擎,目前被Mozilla家族網頁瀏覽器以及Netscape 6以後版本瀏覽器所使用。這款軟件原本是由網景通訊公司開發的,現在則由Mozilla基金會維護。由於Gecko的特點是代碼完全公開,因此,其可開發程度很高,全世界的程序員都可以爲其編寫代碼,增加功能。因爲這是個開源內核,因此受到許多人的青睞,採用Gecko內核的瀏覽器也很多,這也是Gecko內核雖然年輕但市場佔有率能夠迅速提高的重要原因。

  Gecko排版引擎提供了一個豐富的程序界面以供與互聯網相關的應用程序使用,例如網頁瀏覽器、HTML編輯器、客戶端/服務器等。雖然最初的主要對象是Mozilla的衍生產品,如Netscape和Mozilla Firefox,但是現在已有很多其他軟件利用這個排版引擎。此外Gecko也是一個跨平臺內核,可以在Windows、BSD、Linux和Mac OS X中使用。

  正在和曾經使用Gecko引擎的瀏覽器有Firefox、網景6~9、SeaMonkey、Camino、Mozilla、Flock、Galeon、K-Meleon、Minimo、Sleipni、Songbird、XeroBank。Google Gadget引擎採用的就是Gecko瀏覽器引擎。

  三、WebKit內核(代表:Safari、Chrome

  WebKit 是一個開放源代碼的瀏覽器引擎(Web Browser Engine),WebKit最初的代碼來自KDE的KHTML和KJS(它們均爲開放源代碼,都是自由軟件,在GPL協議下授權)。所以WebKit也是自由軟件,同時開放源代碼。它的特點在於源碼結構清晰、渲染速度極快。主要代表產品有Safari和Google的瀏覽器Chrome。

  WebKit內核在手機上的應用也十分廣泛,例如Google的Android平臺瀏覽器、Apple的iPhone瀏覽器、Nokia S60瀏覽器等所使用的瀏覽器內核引擎,都是基於WebKit引擎的。 WebKit內核也廣泛應用於Widget引擎產品,包括中國移動的BAE、Apple的Dashboard以及Nokia WRT在內採用的均爲WebKit引擎。

  四、Presto內核(代表:Opera)

  Presto是由Opera Software開發的瀏覽器排版引擎,供Opera 7.0及以上使用。它取代了舊版Opera 4至6版本使用的Elektra排版引擎,包括加入動態功能,例如網頁或其部分可隨着DOM及Script語法的事件而重新排版。Presto的特點就是渲染速度的優化達到了極致,它是目前公認的網頁瀏覽速度最快的瀏覽器內核,然而代價是犧牲了網頁的兼容性。

  Presto實際上是一個動態內核,與Trident、Gecko等內核的最大區別就在於腳本處理上,Presto有着天生的優勢,頁面的全部或者部分都能夠在迴應腳本事件時等情況下被重新解析。此外該內核在執行JavaScript時有着最快的速度,根據同等條件下的測試,Presto內核執行同等JavaScript所需的時間僅有Trident和Gecko內核的約1/3。Presto是商業引擎,了Opera以外較少瀏覽器使用Presto內核,這在一定程度上限制了Presto的發展。

作者:天極軟件責任編輯:楊玲)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章