简介

● 浏览器内核包含两种引擎:排版引擎、JS 引擎。由于 JS 引擎越来越独立,浏览器内核倾向于单指排版引擎。
● 排版引擎也称”渲染引擎(Rendering Engine)”,负责渲染网页内容的总体控制。
● 所有网页浏览器、电子邮件客户端以及其它需要编辑显示 HTML 内容的应用程序都需要排版引擎。

排版引擎

● Trident(/`traidnt/ 又称为 MSHTML),是 Windows 操作系统曾经搭载的 IE 浏览器所使用的排版引擎,它的第一个版本诞生于 1997 年 10 月的 Internet Explorer 第四版,2015 年微软推出的 Edge 浏览器使用的是 EdgeHTML 排版引擎,2019 年改用谷歌的 Blink。
● Gecko(/`gekəʊ/)是以 C++编写的开源排版引擎,能在 Windows、Linux 和 Mac 等主要操作系统上跨平台运行,由网景通讯公司开发,现在由 Mozilla 基金会维护,被 Mozilla 系列产品(如 Firefox 浏览器)所使用。
● KHTML 是自由软件项目 KDE(K Desktop Environment,基于 Qt 开发)中实现的排版引擎,最初用于 Linux 开源操作系统,苹果将 KHTML 项目 fork 到自己的 WebKit 项目并在其基础上开发并命名为 WebCore,用于 Safari 浏览器,后来 WebKit 项目也开源了,Chrome 最初的排版引擎也使用 WebCore。
● Presto(/ˈprestəʊ/)是由 Opera Software 开发的浏览器排版引擎,应用于 Opera 浏览器,Opera 后来放弃了自有排版引擎跟随 Chromium。
● Blink,Chrome 后来从 WebCore fork 出分支并命名为 Blink。

JS 引擎

◇ JScript,老版本 IE 使用,2011 年发布的 IE9 以及之后 Edge 浏览器使用 Chakra,2019 年改用谷歌的 V8。
◇ Monkey 系列,Firefox 使用。
◇ SquirrelFish 系列,Safari 使用。
◇ Carakan,Opera 使用。
◇ V8,Chrome 从第一个版本起就使用的 JS 引擎,以 C++编写的谷歌开源项目。

浏览器内核(也称为浏览器引擎,包含了排版引擎和 JS 引擎)

● WebKit
(1)WebKit 是苹果的浏览器内核,始于 2001 年,于 2005 年开源,它所包含的 WebCore 排版引擎和 JavaScriptCore JS 引擎分别是从 KDE 的 KHTML 和 KJS 衍生而来。
(2)2008 年 WebKit 团队重写了 JS 引擎命名为 SquirrelFish,并在 Chrome 发布的两个星期后发布。
(3)由于宽松的协议、轻量级的设计和便捷的应用程序内嵌 API,WebKit 变得流行,除了 Google Chrome/Chromium 和 Safari,它在移动终端( Symbian S60,Android,iOS,Kindle)到 Toolkit 集成(GTK+, Qt4) 都有不错的收获,被统称为 WebKit。
● Blink
(1)”Blink”有时也作为包含 Blink 排版引擎和 V8 JS 引擎的浏览器内核的名字。
(2)Chrome 浏览器最初使用 WebKit 的排版引擎(即 WebCore)是 Android 团队的建议,由于谷歌与苹果的竞争关系使开源的合作无法维系,于是诞生了 Blink。
(3)Google 自 2013 年起在 Google Chrome/Chromium 中使用 Blink,iOS 中的 Chrome 仍然使用的 WebCore。