15 — 浏览器内核横向对比
里对比浏览器内核,重点不是背市场份额,而是讲清 渲染引擎、JS 引擎、多进程、安全模型。
主流路线
- Chromium:Blink + V8,代表产品是 Chrome、Edge、Electron、Android WebView 等。
- Firefox:Gecko + SpiderMonkey。
- Safari / WebKit:WebKit + JavaScriptCore。
Blink 最初从 WebKit 分出,但现在已经长期独立演进,不能简单当成同一个内核。
共同趋势
现代浏览器大多具备:
- 多进程架构。
- 沙箱化内容进程。
- 独立或半独立 GPU / 网络进程。
- 站点隔离或类似机制。
- 多层 JS JIT。
- 增量、并行、分阶段的渲染管线。
Chromium 特点
- Blink 负责渲染,V8 负责 JS。
- Site Isolation 和 OOPIF 体系成熟。
- Mojo 支撑多进程 IPC 和服务化。
- cc / viz 拆分合成和显示。
- Network Service 让网络栈脱离 Renderer。
优势是生态大、标准落地快、工具链成熟;代价是进程和内存开销更容易被讨论。
Firefox 特点
Firefox 使用 Gecko 和 SpiderMonkey。它也有多进程、沙箱、GPU / 网络相关进程,并通过 Fission 推进站点隔离。
和 Chromium 的核心问题域类似:都在处理安全隔离、性能和内存之间的权衡,只是实现名称和进程策略不同。
WebKit 特点
WebKit 主要服务 Safari 和 Apple 平台。常见结构是 UIProcess / WebProcess,并有 NetworkProcess、StorageProcess 等拆分。
WebKit 更强绑定 Apple 系统生态,常被拿来讨论功耗、系统集成和移动端体验。
总结
Chromium、Gecko、WebKit 的大方向趋同:多进程、安全隔离、GPU 合成、网络外移、JIT 优化。差异主要在模块命名、进程粒度、IPC 体系、平台策略和生态目标。