返回

文章详情

展示 HN:我花了两年时间开发了一个新浏览器,今天它通过了 Acid 3 测试

Hacker News2026年7月31日 21:39

一个完全从头开始使用 Zig 编写的渲染引擎的网页浏览器,与 Google 的 V8 JavaScript 引擎配对。经过两年的独自工作 — 极其轻量,早期测试中速度约为 Chrome 的两倍。没有 Chromium,没有 WebKit,没有 Gecko。HTML 解析器、CSS 层叠、布局引擎和绘制管道都是使用 Zig 手工编写;只有 JavaScript 虚拟机是借用自 Google 的 V8。最终结果是一个足够小的浏览器,可以理解从头到尾,并且速度足够快,可以在相同硬件上超过主流引擎。100/100 的 Acid3 兼容性测试 — 完美的分数,早期基准测试中的速度约为 Google Chrome 的两倍。从头开始的解析器、CSS、布局、绘制 — 都是用 Zig 手工编写的。渲染引擎的两年独立工程。至今,cwbrowser 以完美的 100/100 通过了 Acid3 测试 — 这是主流引擎达到的相同兼容性标准,由一个从零开始的引擎达成。⤓ 下载 — 即将发布 macOS · Apple Silicon 正在准备一个公共版本。希望在发布时告诉你吗?给我发邮件,我会把链接发给你。cwbrowser 在 acid3.acidtests.org 上表现 — 一个干净的 100/100,由自己的引擎渲染。注意状态栏:整个页面在 2265 毫秒内加载并布局完毕。它是什么 cwbrowser 是一个桌面网页浏览器,基于过去两年我从零开始编写的渲染引擎。Chrome 使用 Blink,Safari 使用 WebKit,Firefox 使用 Gecko,而 cwbrowser 则使用自己独特的引擎:分词器、DOM、CSS 解析器和层叠、盒模型布局过程和绘制阶段,都是使用 Zig 编写的原创代码 — 一种小巧、快速、注重内存的系统语言。唯一没有重新实现的部分是 JavaScript 引擎。重新实现一个现代的、 JIT 编译的 JS 虚拟机是一个需时十年的项目,因此 cwbrowser 嵌入了 Google 的 V8 — 与 Chrome 和 Node 内部使用的相同引擎 — 并将其与从零开始的 DOM 连接起来。你得到了一个真正遵循标准的浏览器,其决定网页外观的部分都是手工构建的。它是如何构建的 语言 Zig 用于整个渲染引擎 — 手动内存管理,没有垃圾回收器,没有隐藏的运行时。HTML 和 DOM 一个从头开始的分词器和树构造器,生成一个实时的 DOM,供引擎和 V8 操作。CSS 原创解析器和层叠 — 选择器、特异性、继承、盒模型 — 为布局过程提供支持。布局和绘制 手工编写的块/行内布局以及一个像素级的绘制管道,与 Acid3 参考相匹配。JavaScript 嵌入并绑定到 DOM 的 Google V8 — 驱动 Chrome 和 Node 的相同虚拟机。性能 在相同机器上的早期测试中,大约是 Chrome 的两倍;整个引擎在设计上就是轻量的。为什么要从头开始构建浏览器?现代网页运行在三种渲染引擎上,都是庞大的,并且都是源于二十多年前编写的代码。cwbrowser 是一个敢于尝试的赌注,认为浏览器引擎可以在今天重建 — 较小、更快、且一个人可以理解 — 使用现代系统语言,并且只借用一个真正不值得重新发明的组件(JS 虚拟机)。以 100/100 通过 Acid3 的测试是这种方法符合实际标准的第一个证明。下载 一个公共预览版本正在准备中,适用于 Apple Silicon 的 macOS。这里还未发布 — 一旦发布,这里将是它的所在。⤓ 下载 — 即将发布 macOS · Apple Silicon 邮件 haojng@gmail.com 以便在测试版可用时通知您。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡