瀏覽器內(nèi)核

“瀏覽器內(nèi)核”主要指渲染引擎(Rendering Engine),負責解析網(wǎng)頁語法(如HTML、JavaScript)并渲染、展示網(wǎng)頁。因此,所謂的瀏覽器內(nèi)核通常也就是指瀏覽器所采用的渲染引擎,渲染引擎決定了瀏覽器如何顯示網(wǎng)頁的內(nèi)容以及頁面的格式信息。不同的瀏覽器內(nèi)核對網(wǎng)頁編寫語法的解析也有所不同,因此同一網(wǎng)頁在不同的內(nèi)核瀏覽器里的渲染、展示效果也可能不同。 瀏覽器內(nèi)核種類繁多,商用的加上非商業(yè)的免費內(nèi)核,大約會超過10款,我們今天重點看一下目前主流的四大瀏覽器內(nèi)核Trident、Gecko、WebKit 以及Presto。

一、Trident內(nèi)核(代表:Internet Explorer)

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

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

Trident實際上是一款開放的內(nèi)核,Trident引擎被設(shè)計成一個軟件模塊,使得其他軟件開發(fā)人員很容易將網(wǎng)頁瀏覽功能加到他們自行開發(fā)的應(yīng)用程序里,其接口內(nèi)核設(shè)計相當成熟,因此涌現(xiàn)出許多采用IE內(nèi)核而非IE的瀏覽器,但是Trident只能用于Windows平臺。使用Trident渲染引擎的瀏覽器包括:IE、傲游、世界之窗瀏覽器、Avant、騰訊TT、Sleipnir、GOSURF、GreenBrowser和KKman等。

二、Gecko內(nèi)核(代表:Mozilla 、Firefox)

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

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

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

三、WebKit內(nèi)核(代表:Safari、Chrome)

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

WebKit內(nèi)核在手機上的應(yīng)用也十分廣泛,例如Google的Android平臺瀏覽器、Apple的iPhone瀏覽器、Nokia S60瀏覽器等所使用的瀏覽器內(nèi)核引擎,都是基于WebKit引擎的。 WebKit內(nèi)核也廣泛應(yīng)用于Widget引擎產(chǎn)品,包括中國移動的BAE、Apple的Dashboard以及Nokia WRT在內(nèi)采用的均為WebKit引擎。

四、Presto內(nèi)核(代表:Opera)

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

Presto實際上是一個動態(tài)內(nèi)核,與Trident、Gecko等內(nèi)核的最大區(qū)別就在于腳本處理上,Presto有著天生的優(yōu)勢,頁面的全部或者部分都能夠在回應(yīng)腳本事件時等情況下被重新解析。此外該內(nèi)核在執(zhí)行JavaScript時有著最快的速度,根據(jù)同等條件下的測試,Presto內(nèi)核執(zhí)行同等JavaScript所需的時間僅有Trident和Gecko內(nèi)核的約1/3。Presto是商業(yè)引擎,了Opera以外較少瀏覽器使用Presto內(nèi)核,這在一定程度上限制了Presto的發(fā)展。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一個很巧合的機會,需要統(tǒng)計公司系統(tǒng)(當然我只需要關(guān)注我自己負責的系統(tǒng))支持哪些瀏覽器,以及公司PMO的質(zhì)量管理部門...
    samzhao閱讀 1,982評論 1 5
  • 一、瀏覽器的構(gòu)成 瀏覽器可以分為兩部分,shell+內(nèi)核。其中shell的種類相對比較多,內(nèi)核則比較少。 1、Sh...
    DannyCloud閱讀 1,410評論 0 0
  • 詳解瀏覽器內(nèi)核 瀏覽器最重要或者說核心的部分是“Rendering Engine”,可大概譯為“渲染引擎”,不過我...
    IT_小哥哥閱讀 535評論 0 2
  • 內(nèi)核 首先得搞懂瀏覽器內(nèi)核究竟指的是什么。瀏覽器內(nèi)核又可以分成兩部分:渲染引擎(layout engineer 或...
    李仁平閱讀 761評論 0 2
  • 漸變的面目拼圖要我怎么拼? 我是疲乏了還是投降了? 不是不允許自己墜落, 我沒有滴水不進的保護膜。 就是害怕變得面...
    悶熱當乘涼閱讀 4,503評論 0 13

友情鏈接更多精彩內(nèi)容