排版引擎

排版引擎

網頁瀏覽器的排版引擎也被稱為頁面渲染引擎,它負責取得網頁的內容(HTML、XML、圖象等等)、整理信息(例如加入CSS等),以及計算網頁的顯示方式然後會輸出至顯示器或印表機。所有網頁瀏覽器、電子郵件客戶端以及其它需要編輯、顯示網路內容的應用程序都需要排版引擎。

簡介


在Mozilla將其排版引擎(Gecko)作為獨立於瀏覽器的一個配件之後,“排版引擎”這個辭彙才被廣泛使用。也就是說,除了Mozilla瀏覽器,其它瀏覽器也可以使用Gecko作自己排版引擎。

Trident


Trident(又稱為MSHTML),是微軟的視窗操作系統(Windows)搭載的網頁瀏覽器—Internet Explorer的排版引擎的名稱,它的第一個版本誕生於1997年10月Internet Explorer第四版中,IE7做了的重大的變動,除了加入新的技術之外,並增加對網頁標準的支持,目前是網際網路上最流行的排版引擎。
· Internet Explorer
·世界之窗瀏覽器
· Avant
·騰訊TT
·NetCaptor
· Sleipnir
· GOSURF
· GreenBrowser
·KKman

Gecko


Gecko是套開放源代碼的、以C++編寫的網頁排版引擎。Gecko是跨平台的,能在Microsoft Windows、Linux和Mac OS X等主要操作系統上運行。它是最流行的排版引擎之一,其流行程度僅次於Trident。
·Fennec
·Firefox
·網景(6至9)
·SeaMonkey
· Camino
·Flock
· Galeon
·K-Meleon
· Minimo
·Mozilla
· Sleipnir
·Songbird
· XeroBank

KHTML


KHTML,是HTML網頁排版引擎之一,由KDE所開發。KHTML擁有速度快捷的優點,但對錯誤語法的容忍度則比Mozilla產品所使用的Gecko引擎小。蘋果電腦於2002年採納了KHTML,作為開發Safari瀏覽器之用。WebCore及WebKit引擎均是KHTML的衍生產品;WebKit是Mac OS X v10.3及以上版本所包含的軟體框架WebKit是Mac OS X的Safari網頁瀏覽器的基礎。
·Safari
· Konqueror
· Epiphany
·Google Chrome
· iCab
· OmniWeb
· Midori
·Shiira
·搜狗瀏覽器2(極速模式)
WebKit 是一個開源的瀏覽器引擎。WebKit 也是蘋果Mac OS X 系統引擎框架版本的名稱,主要用於Safari,Dashboard,Mail 和其他一些Mac OS X 程序。WebKit 所包含的 WebCore 排版引擎和 JSCore 引擎來自於 KDE 的 KHTML 和KJS,當年蘋果比較了 Gecko 和 KHTML 后,仍然選擇了後者,就因為它擁有清晰的源碼結構、極快的渲染速度。
Webkit已成新的寵兒,它的幕後推手是當今科技界炙手可熱的兩家公司——谷歌(2013年穀歌宣布停止使用WebKit作為Chrome瀏覽器的渲染引擎,並開發自己的網頁渲染引擎“Blink”)和蘋果。值得注意的是,Webkit內核瀏覽器的增長,對應的便是IE瀏覽器的份額流失。
有意思的是,連微軟自己都在探討在IE中引入Webkit的可能性,微軟CEO鮑爾默曾表示“將可能使用開源引擎Webkit來拓展IE”。即便這是鮑爾默的煙霧彈,也可以肯定的是,依舊佔據統治地位的IE無法忽視Webkit可能帶來的威脅。

Presto


Presto是一個由Opera Software開發的瀏覽器排版引擎,應用於Opera 7.0~9.60版,它取代了舊版Opera中所使用的Elektra排版引擎(已成為歷史),包括加入動態功能,例如網頁或其部分可隨著DOM及Script語法的事件而重新排版。
· Opera
· 任天堂DS瀏覽器

Java


Java,是一種可以撰寫跨平台應用軟體的面向對象的程序設計語言,Java 編程語言的風格十分接近C++語言。微軟推出的.NET平台以及模仿Java的C#語言正是與之競爭下的產物。
· HotJava
· Opera Mini
· UCWEB

Tasman


Tasman,是微軟的Internet Explorer for Mac瀏覽器所使用的排版引擎,也是為嘗試支援W3C所制定的網頁標準而設計的。在Mac版的Microsoft Office 2004中,電子郵件客戶端Microsoft Entourage使用的就是Tasman排版引擎。
· Internet Explorer for Mac
· MSN for Mac OS X

Blink


引擎成立

Google 宣布將在未來的 Google Chrome/Chromium 中使用基於 WebKit 的 fork Web 渲染引擎:Blink。同時 Opera 表示也將跟進 Google Chrome/Chromium 的步伐。
Google Chrome/Chromium 從創始至今一直使用 WebKit(WebCore) 作為 HTML/CSS 渲染引擎。WebKit 早先由 Apple 由 KHTML 項目 fork 出來,用於 Safari 瀏覽器的 Web 引擎。由於寬鬆的協議、輕量級的設計和便捷的應用程序內嵌 API,WebKit 逐漸變得流行起來,除了 Google Chrome/Chromium 和 Safari,它在移動終端( Symbian S60,Android,iOS)到 Toolkit 集成(GTK+, Qt4) 都有不錯的收穫。
儘管上面一眾經常被統稱為 WebKit,實際上各自都使用了自己的 WebKit 分支或者編譯時選項,使得最終的渲染結果也是存在一定的差異的。不過大體上 WebKit 社區內部還是比較和諧的,各個成員之間也為維持兼容性作出了努力,直到 2010 年隨著 OS X Lion 一起面世的 WebKit2。由於 WebKit2 在 WebCore 層面上實現的進程隔離在一定程度上與 Google Chrome/Chromium 自己的沙箱設計存在衝突,故 Google Chrome/Chromium 一直停留在 WebKit,使用 Backport 的方式實現和主線 WebKit2 的兼容。顯而易見這增加了 WebKit 和 Chromium 的複雜性,且在一定程度上影響了 Chromium 的架構移植工作。

引擎定位

基於以上原因,Google 決定從 WebKit fork 出自己的 Blink Web 引擎:
現階段以精簡內部結構為主,將刪除大約 7000 個文件和 450 萬行 WebKit2 兼容代碼。
未來將著重改善 DOM 架構,將使用 JavaScript 實現 DOM。
提升安全性,實現進程外 iframes。
對於今年初宣布放棄自有渲染引擎跟隨 Chromium 的 Opera 來說,其開發者也立刻發布博客公告 Opera 亦將切換至 Blink 引擎。
谷歌Blink的橫空出世將使它和其他的WebKit瀏覽器開發商包括——蘋果、諾基亞和黑莓——更徹底地分道揚鑣。
這一舉措意味著,現在有四大渲染引擎在線:WebKit、Blink、Trident 和Gecko。對於用戶來說,渲染引擎的差異化意味著他們在使用不同瀏覽器打開同一網頁時將得到不同的結果——在移動設備上尤其如此。

引擎市場

谷歌並在一篇博客文章里寫道:“我們知道,新的渲染引擎的出現將對網頁瀏覽產生重大影響。”但谷歌補充說,它認為多個渲染引擎“能夠推動創新,並增進整個網路生態系統的健康。”
谷歌此舉有很大風險。根據NetMarketShare的數據,Chrome 瀏覽器目前是台式機最常用的瀏覽器之一。而根據Statcounter的統計,Chrome 瀏覽器目前是台式機最常用的瀏覽器。NetMarketShare統計的是訪客數量,而tatcounter只統計點擊量。如果谷歌的新戰略不成功,Chrome 瀏覽器的統治地位或將不保。

文本界面


就是一些純文字式的網頁瀏覽器,在LINUX系統中比較常見。
· Lynx
· Links
· w3m

手持設備


· Internet Explorer Mobile
· Minimo
· Opera Mobile
· PSP瀏覽器

其它


· Amaya
· Dillo
· Mosaic