平时我们常说“Chrome 是 Chromium 内核”“Safari 是 WebKit 内核”“Firefox 是 Gecko 内核”。

这些说法日常聊天没问题,但严格一点看,其实混了几个概念:浏览器、开源项目、渲染引擎、JavaScript 引擎。

Chromium 和 Blink 的关系

浏览器内核一般指什么

大多数时候,“浏览器内核”指的是 渲染引擎

渲染引擎负责把 HTML、CSS、图片、字体等内容排版并画到屏幕上。JavaScript 通常由单独的 JS 引擎执行。

浏览器

渲染引擎

JS 引擎

Chrome

Blink

V8

新版 Edge

Blink

V8

Safari

WebKit

JavaScriptCore

Firefox

Gecko

SpiderMonkey

IE

Trident

Chakra / JScript

所以“内核”是个口语词。写技术文章时,更准确的说法是:渲染引擎 + JS 引擎 + 浏览器外围能力

Chromium 不是内核,它是一整套开源浏览器项目。

Chromium 里面包含很多东西:

  • Blink:负责网页渲染

  • V8:负责执行 JavaScript

  • 网络、进程、安全沙箱、DevTools 等浏览器基础设施

Chrome 是 Google 基于 Chromium 做出的浏览器产品。新版 Edge、Brave、Opera、很多国产浏览器,也都是基于 Chromium 二次开发。

所以严格说:

Chrome 基于 Chromium,渲染引擎是 Blink,JS 引擎是 V8。

而不是简单说:

Chrome 是 Chromium 内核。

常见浏览器内核

内核

代表浏览器

现状

Blink

Chrome、Edge、Brave、Opera、很多国产浏览器

当前最主流

WebKit

Safari、iOS WebView

苹果生态主力

Gecko

Firefox

Firefox 主力内核

Trident

Internet Explorer

已淘汰

EdgeHTML

旧版 Microsoft Edge

已淘汰

Presto

旧版 Opera

已淘汰

Goanna

Pale Moon 等小众浏览器

小众

现在真正主流的主要是三个:Blink、WebKit、Gecko

浏览器内核时间线

Firefox 的 Quantum 是什么

你可能听过 Firefox Quantum,也有人叫它“量子引擎”。

但 Quantum 不是一个完全独立的新内核。它更像是 Firefox 对 Gecko 的一次大规模升级工程。

名称

含义

Gecko

Firefox 真正的渲染内核

Quantum

Gecko 现代化升级工程

Stylo / Quantum CSS

Quantum 项目里的新 CSS 样式系统

Servo

Mozilla 曾经研究的实验浏览器引擎,部分技术被吸收到 Firefox

一句话:

Firefox 的内核仍然是 Gecko,Quantum 是 Gecko 的一次大换血。

移动端浏览器内核

移动端要分 Android 和 iOS。

移动端浏览器内核

Android 比较开放。Chrome、Edge、Brave、Opera 这类浏览器大多是真 Chromium/Blink。Firefox Android 使用 Gecko。Android App 里的 WebView 通常基于 Chromium。

iOS 长期比较特殊。Safari 使用 WebKit,很多 iPhone 上的第三方浏览器,比如 Chrome、Edge、Firefox,底层渲染也通常是 WebKit,只是外层 UI、账号同步、书签、功能不同。

现在 Apple 在欧盟等部分地区开始允许替代浏览器引擎,但需要申请权限,并且有地区和条件限制。

最后记这几句话

  • IE 是 Trident

  • Firefox 是 Gecko

  • Safari 是 WebKit

  • Chrome 和新版 Edge 基于 Chromium,渲染引擎是 Blink

  • Chromium 是浏览器项目,不是单独的浏览器内核

  • Firefox Quantum 不是新内核,而是 Gecko 的升级工程

以后再看到“某某浏览器是什么内核”,可以先问一句:

你说的是浏览器项目,还是渲染引擎?

参考资料