浏览器引擎

浏览器引擎(browser engine),也稱為排版引擎(layout engine)、页面渲染引擎(rendering engine)或樣版引擎,它是一種軟體元件,负责取得標記式内容(如HTML、XML及图像檔案等等)、整理資訊(如CSS及XSL等),並將排版後的内容輸出至顯示器或印表機。所有网页浏览器、电子邮件客户端、電子閱讀器以及其它需要根據表示性的標記語言()來显示内容的应用程序都需要排版引擎。

在Mozilla将其Gecko排版引擎作为独立于浏览器的一个配件之后,「排版引擎」这个词汇才被广泛使用。也就是说,除了Mozilla浏览器,其它浏览器也可以使用Gecko作自己排版引擎。

布局与渲染
网页的通常由层叠样式表(CSS)指定。每个样式表都是一系列关于页面呈现方式的规则。例如,一些规则指定排版细节,如字型、颜色和文本大小,而另一些规则则确定图像的位置。引擎会组合所有相关的CSS规则,以计算出将在屏幕上绘制的视觉表示的精确图形坐标。

著名的引擎
Mozilla開放原始碼專案的網頁瀏覽器引擎Gecko,被Mozilla代碼庫中的各種產品所使用,其中包括Firefox網頁瀏覽器、Thunderbird電子郵件客戶端和SeaMonkey網路套件。Goanna是Gecko的一個分支。

KDE的開放原始碼KHTML引擎在KDE的Konqueror網頁瀏覽器使用,後來成為WebKit的基礎,WebKit是Apple Safari和早期Google Chrome網頁瀏覽器的引擎。

Google最初使用WebKit用於Chrome瀏覽器,但最終將其分支為自行建構的Blink引擎。所有以Chromium為基礎的瀏覽器都使用Blink;使用CEF、Electron或任何其他Chromium嵌入式框架構建的應用程式也是如此。

Internet Explorer的網頁瀏覽器引擎Trident,被Microsoft Windows平台的許多應用程式如Outlook Express、某些版本的Microsoft Outlook和Winamp、RealPlayer中的迷你瀏覽器所使用。Trident已經被EdgeHTML所取代,2019年EdgeHTML被Blink取代。

Opera軟體公司的專有的Presto引擎被授權給其他許多軟體供應商,也在Opera瀏覽器所使用,直到2013年被Blink取代。

時間軸
以下列出引擎仍持續依循網頁標準更新的軟體開發活躍期間。

header

ImageSize = width:750 height:170
PlotArea = left:80 right:5 bottom:20 top:5
AlignBars = justify
DateFormat = dd/mm/yyyy
Period = from:01/01/1997 till:31/05/2022
TimeAxis = orientation:horizontal format:yyyy

Colors =
id:microsoft value:rgb(0.3, 0.5, 1)
id:gecko value:rgb(1, 0, 0)
id:khtml value:rgb(0.3,0.3,0.3)
id:webkit value:rgb(0.3, 0.36, 0.36)
id:blink value:rgb(0.3, 0.39, 0.39)
id:mgray value:rgb(0.5, 0.5, 0.5)
id:lgray value:rgb(0.75, 0.75, 0.75)

ScaleMajor = gridcolor:mgray unit:year increment:1 start:01/01/1997
ScaleMinor = unit:month increment:3 start:01/01/1997
BackgroundColors = bars:lgray

BarData =
bar:Gecko text:Gecko
bar:Trident text:Trident
bar:EdgeHTML text:EdgeHTML
bar:KHTML text:KHTML
bar:WebKit text:WebKit
bar:Blink text:Blink

PlotData=
align:center textcolor:black fontsize:8 mark:(line,black) width:15 shift:(0,-4)

bar:Gecko
from: 01/05/1997 till: 31/05/2022 color:gecko mark:(line,white)

bar:Trident
from: 01/10/1997 till: 15/07/2015 color:microsoft mark:(line,white)

bar:EdgeHTML
from: 12/11/2014 till: 15/12/2018 color:microsoft mark:(line,white)

bar:KHTML
from: 04/11/1998 till: 15/10/2016 color:khtml mark:(line,white)

bar:WebKit
from: 25/06/2001 till: 31/05/2022 color:webkit mark:(line,white)

bar:Blink
from: 03/04/2013 till: 31/05/2022 color:blink mark:(line,white)

参考文献

评论 (0)

  • 还没有评论,来抢沙发吧。