浏览器引擎=浏览器内核
浏览器引擎
浏览器引擎,也称为排版引擎、页面渲染引擎或样版引擎,它是一种软件组件,负责获取标记式内容、整理信息,并将排版后的内容输出至显示器或打印机
。
所有网页浏览器、电子邮件客户端、电子阅读器以及其它需要根据表示性的标记语言来显示内容的应用程序都需要排版引擎。
浏览器内核
浏览器最重要的或者说核心的部分是浏览器引擎,我们一般习惯将之称为浏览器内核
。
著名的浏览器引擎
- Gecko Mozilla开放源代码项目的网页浏览器引擎,被Mozilla代码库中的各种产品所使用,其中包括Firefox网页浏览器、Thunderbird电子邮件客户端和SeaMonkey网络包。Goanna是Gecko的一个分支。
- KHTML KDE的开放源代码引擎,在KDE的Konqueror网页浏览器使用,后来成为WebKit的基础。
- WebKit 是Apple Safari和早期Google Chrome网页浏览器的引擎。
- Blink Google最初使用WebKit用于其Chrome浏览器,但最终创建了Blink引擎。所有以Chromium为基础的浏览器都使用Blink。Chromium嵌入式框架,Electron或任何其他框架构建的应用程序也能使用Chromium。
- Trident Internet Explorer的网页浏览器引擎,被Microsoft Windows平台的许多应用程序如Outlook Express、某些版本的Microsoft
Outlook和Winamp、RealPlayer中的迷你浏览器所使用。Trident已经被EdgeHTML所取代,2019年EdgeHTML被Blink取代。 - Presto Opera软件公司的专有的引擎,被授权给其他许多软件供应商,也在Opera浏览器所使用。2013年被Blink取代。
时间线
JavaScript引擎
JavaScript引擎是一个专门处理JavaScript脚本的虚拟机
,一般会附带在网页浏览器之中。
一个典型的浏览器有一个图形引擎和一个独立的JavaScript引擎。例如:Carakan被用在Presto中,Nitro被用在WebKit中,SpiderMonkey被用在Gecko中,KJS被用在KHTML中,Rhino默认不包含任何布局引擎。但还有其他组合,例如:V8与WebKit被用于Google Chrome中。
JavaScript引擎除了被当作能阅读执行JavaScript源代码的解释器
,也能为程序员提供部分操作浏览器的功能
(网络、DOM、外部事件、HTML5视频、canvas和存储)。
开发中的JavaScript引擎
- Rhino,由Mozilla基金会管理,开放源代码,完全以Java编写。
- SpiderMonkey,第一款JavaScript引擎,早期用于Netscape Navigator,现用于Mozilla Firefox。
- V8,由Google丹麦开发,开放源代码,用于Google Chrome。
- JavaScriptCore,开放源代码,用于Safari。
- Chakra (JScript引擎),用于Internet Explorer。
- Chakra (JavaScript引擎),用于Microsoft Edge。
- KJS,KDE的ECMAScript/JavaScript引擎,最初由哈里·波顿开发,用于KDE项目的Konqueror网页浏览器中。