1. 程式人生 > >html-02 瀏覽器核心

html-02 瀏覽器核心

瀏覽器核心又可以分成兩部分:渲染引擎(layout engine 或者 rendering engine)和JS引擎。

渲染引擎它負責取得網頁的內容(HTML、XML、影象等等)、整理訊息(例如加入CSS等),以及計算網頁的顯示方式,然後會輸出至顯示器或印表機。瀏覽器的核心的不同對於網頁的語法解釋會有不同,所以渲染的效果也不相同。

JS引擎則是解析Javascript 語言,抓行javascript語言來實現網頁的動態效果。

最開始渲染引擎和JS引擎並沒有區分的很明確,後來JS引擎越來越獨立,核心就傾向於只指渲染引擎。有一個網頁標準計劃小組製作了一個ACID來測試引擎的相容性和效能。核心的種類很多,如加上沒什麼人使用的非商業的免費核心,可能會有10多種,但是常見的瀏覽器核心可以分這四種:Trident、Gecko、Blink、Webkit。

 

(1)Trident(IE核心)

國內很多的雙核瀏覽器的其中一核便是Trident,美其名曰”相容模式"。

代表:IE、傲遊、世界之窗瀏覽器、Avant、騰訊TT、獵豹安全瀏覽器、360極速瀏覽器、百度瀏覽器等。

Window10釋出後,IE將其內建瀏覽器命名為Edge,Edge最顯著的特點就是新核心EdgeHTML。

 

(2)Gecko(firefox)

Gecko(Firefox核心):Mozilla FireFox(火狐瀏覽器)採用該核心,Gecko的特點是程式碼完全公開,因此,其可開發程度很高,全世界的程式設計師都可以為其編寫程式碼,增加功能。可惜這幾年已經沒落了,比如開啟速度慢、升級頻繁、豬一樣的隊友flash、神一樣的對手chrome。

 

(3)webkit(Safari)

Safari是蘋果公司開發的瀏覽器,所用瀏覽器核心的名稱是大名鼎鼎的WebKit。

現在很多人錯誤地把webkit 叫做 chrome核心(即使chrome核心已經是blink了),蘋果感覺像被別人搶了媳婦,都哭暈再廁所裡面了。

代表瀏覽器:傲遊瀏覽器3、Apple Safari(Win/Mac/iPhone/iPad)、Symbian手機瀏覽器、Android預設瀏覽器。

 

(4)Chromium/Blink(chrome)

在Chromium專案中研發Blink渲染引擎(即瀏覽器核心),內置於Chrome瀏覽器之中。Blink其實是Webkit的分支。

大部分國產瀏覽器最新版都採用Blink核心。

 

(5)Presto(Opera)

Presto(已經廢棄)是挪威產瀏覽器opera的“前任”核心,為何說是“前任”,因為最新的opera瀏覽器早已將之拋棄從而投入到了谷歌懷抱了。

移動端的瀏覽器核心主要說的是系統內建瀏覽器的核心。

 

說明一下:

Android手機而言,使用率最高的就是Webkit核心,大部分國產瀏覽器宣稱的自己的核心,基本上也是屬於Webkit二次開發。iOS以及WPZ平臺上,由於系統原因,系統大部分自帶瀏覽器核心,一般是Safari或者IE核心Trident