cwbrowser:用 Zig 编写的新浏览器引擎
cwbrowser 是一个全新、轻量级的网页浏览器和渲染引擎,使用 Zig 系统语言从零开始编写。经过两年的个人开发,该引擎用自定义实现的 HTML 解析器、CSS 级联、布局引擎和绘制流水线,取代了传统的 Chromium(Blink)、WebKit 或 Gecko 引擎。
技术架构
cwbrowser 利用现代系统语言实现高性能和小体积。架构划分为以下组件:
- 渲染引擎 (Zig): 整个流水线——包括分词器、DOM 构建、CSS 解析器以及布局/绘制阶段——全部手写于 Zig。此方式利用手动内存管理,避免垃圾回收器或隐藏运行时,以最大化效率。
- JavaScript 引擎 (V8): 为避免重新构建现代 JIT 编译虚拟机的十年级别工作量,cwbrowser 嵌入了 Google 的 V8 引擎。V8 与自定义 DOM 绑定,使浏览器能够在保持自定义渲染路径的同时处理 JavaScript 执行。
- 布局与绘制: 引擎实现了手写的块/内联布局以及旨在渲染像素以匹配 Acid3 参考的绘制流水线。
性能与标准符合性
据开发者称,cwbrowser 在 Acid3 测试中取得了完美的 100/100 分,该测试是标准符合性的基准。在早期基准测试中,开发者声称该引擎在相同硬件上大约 比 Google Chrome 快 2 倍。
社区反馈与技术批评
在 Hacker News 上宣布后,项目收到了技术社区的褒贬不一的反馈。虽然一些人赞扬了单人开发者的成就,但多位专家对浏览器的当前状态和有效性提出了批评:
标准与测试
批评者指出 Acid3 已是过时的基准。有人指出,现代规范已与该测试产生偏离,以至于当前版本的 Chrome、Safari 和 Firefox 已不再完美通过。此外,社区强调 Acid3 只占整个 Web 平台需求的极小部分。
"Acid3 是 100 项测试,但要让浏览器在真实的互联网使用中发挥作用,需要通过超过 52,000 项测试以及近两百万个子测试,这些构成了 Web Platform Tests。"
验证与透明度
多位用户对项目的真实性表示怀疑,原因是缺乏可用的源代码、二进制文件或详细的技术文档。有用户形容登录页面为 “vibe coded” 或 “AI slop”,暗示项目可能是由代理生成而非手工编写。
功能缺口
技术观察者指出,根据已有渲染结果,引擎尚未支持 SVG,并且有人要求提供更多证据,证明其能够渲染 Acid3 之外的现代复杂网页。
可用性
针对 macOS on Apple Silicon 的公开预览版正在准备发布。该项目目前未开源,感兴趣的用户可以通过电子邮件注册获取 Beta 通知。
SUMMARY: cwbrowser 是一个用 Zig 从零编写的轻量级浏览器引擎,取得了完美的 100/100 Acid3 分数,并声称在早期测试中速度是 Chrome 的两倍。
TITLE: cwbrowser:用 Zig 编写的新浏览器引擎