平时我们常说“Chrome 是 Chromium 内核”“Safari 是 WebKit 内核”“Firefox 是 Gecko 内核”。
这些说法日常聊天没问题,但严格一点看,其实混了几个概念:浏览器、开源项目、渲染引擎、JavaScript 引擎。
浏览器内核一般指什么
大多数时候,“浏览器内核”指的是 渲染引擎。
渲染引擎负责把 HTML、CSS、图片、字体等内容排版并画到屏幕上。JavaScript 通常由单独的 JS 引擎执行。
所以“内核”是个口语词。写技术文章时,更准确的说法是:渲染引擎 + JS 引擎 + 浏览器外围能力。
Chromium 和 Blink 不是一回事
Chromium 不是内核,它是一整套开源浏览器项目。
Chromium 里面包含很多东西:
Blink:负责网页渲染
V8:负责执行 JavaScript
网络、进程、安全沙箱、DevTools 等浏览器基础设施
Chrome 是 Google 基于 Chromium 做出的浏览器产品。新版 Edge、Brave、Opera、很多国产浏览器,也都是基于 Chromium 二次开发。
所以严格说:
Chrome 基于 Chromium,渲染引擎是 Blink,JS 引擎是 V8。
而不是简单说:
Chrome 是 Chromium 内核。
常见浏览器内核
现在真正主流的主要是三个:Blink、WebKit、Gecko。
Firefox 的 Quantum 是什么
你可能听过 Firefox Quantum,也有人叫它“量子引擎”。
但 Quantum 不是一个完全独立的新内核。它更像是 Firefox 对 Gecko 的一次大规模升级工程。
一句话:
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 的升级工程
以后再看到“某某浏览器是什么内核”,可以先问一句:
你说的是浏览器项目,还是渲染引擎?
评论