这个项目能做什么
ZeroWeb 是一个用 Rust 实现的实验性跨平台浏览器项目,仓库同时维护两条产品线:可嵌入、可复用的 ZeroWebView 库,以及完整的 ZeroBrowser 浏览器应用。项目定位为嵌入优先、许可证边界优先(主线依赖倾向 MIT、Apache-2.0、BSD 等宽松许可)与 Rust 全栈路线,DOM、CSS、布局、渲染、导航与安全边界均在仓库内逐层搭建,而不是直接套用现成内核。
架构上采用多进程拆分:zero-browser 仅保留窗口、浏览器界面、网络代理与 IPC 帧导入呈现,页面渲染与脚本执行由 zero-renderer 承担,图像解码与合成分别交由 zero-image-decoder、zero-compositor 子进程处理,默认发布版不在浏览器进程内链接 WebView、脚本沙箱或 JS 引擎;headless 调试同样通过 renderer IPC 完成导航、脚本与截图。工作区共 32 个成员,包含 22 个库 crate、7 个应用入口,以及测试与开发工具。
页面 JavaScript 层由 script-sandbox 提供 V8/QuickJS 双引擎 feature gate,涵盖 Web Worker、ES Modules,并将 WebAssembly JS API 自动桥接到 wasm-sandbox;V8 原生 DOM 绑定已 default-on,包含原生事件派发与冒泡、customElements/Web Components 生命周期、fetch 真实化、各类观察者回调以及表单控件与选择器支持。媒体方向提供 webm/Matroska demux、VP9 纯 Rust 解码、可选的 AV1 与 H.264 解码、音频解码与 VideoPlayer 播放驱动、混音总线及 Web Audio 最小面。存储与离线能力覆盖 localStorage、sessionStorage、IndexedDB、caches/Cache API,并实现 Service Worker 生命周期与 fetch respondWith 拦截,OPFS 真实化仍在推进。安全侧包含 CSP 实现、HSTS 预加载、混合内容阻止与升级、权限模型与站点隔离,可访问性从 FocusManager 与 ARIA 起步;HTML 编辑、键盘交互与表单行为兼容也作为独立开发线推进。
工程侧提供 W3C WebDriver 服务(34 个 endpoint,含截图与全链路集成测试)、基于 WPT/CSSWG reftest 的渲染兼容性度量(README 记录上游 reftest corpus 约 87.2% 对齐,并以 Chromium Oracle 像素一致率作为诚实指标)、产品静态页像素回归门禁,以及 Linux/macOS/Windows 打包脚本和 Android M0 bootstrap。项目明确标注处于实验阶段,主要面向学习、研究与工程探索,不适合作为日常或生产浏览器使用;许可证为 MIT。它同时是一个 AI-first 工程实验,代码开发主要由 AI 完成,人类负责方案设计、关键决策与结果验证。
评论
0 评分人数达到10人后显示
登录后参与讨论。