Ladybird 独立浏览器
Ladybird 是一款真正独立的现代 Web 浏览器,基于 Web 标准自研引擎,采用多进程架构,从 SerenityOS 继承 LibWeb、LibJS 等核心组件,目前处于 pre-alpha 阶段,主要面向开发者。
过去 7 天收获 1 颗 Star
爱鲜报评分
0 人评分
67k
星数
否
中文
C++
主语言
是
活跃
1547
贡献者
人工分析
EDITORIAL推荐理由
Ladybird 是当前少数从零自研浏览器引擎的项目,星标超过 6.6 万,社区关注度极高。它采用多进程隔离架构,渲染、图像解码、网络请求各自独立进程,安全性设计值得学习。对浏览器内核、Web 标准实现、C++ 系统编程感兴趣的开发者,是难得的完整工程范本。
适用场景
- 浏览器内核与 Web 标准实现研究
- C++ 大型系统工程项目学习
- 多进程架构与沙箱安全设计参考
- Web 渲染引擎与 JS 引擎开发实践
- 操作系统与浏览器协同开发探索
优点
- 真正独立自研引擎,不依赖 Chromium/Gecko/WebKit
- 多进程架构清晰,渲染进程按标签页隔离并沙箱化
- 核心组件模块化,LibWeb、LibJS、LibWasm 等职责分明
- 开源 BSD-2-Clause 许可,社区活跃、贡献者众多
- 跨平台支持 Linux、macOS、Windows(WSL2)等
缺点
- 处于 pre-alpha 阶段,仅适合开发者,日常使用不成熟
- 构建流程与依赖较复杂,上手门槛高
- Web 标准覆盖仍在完善中,兼容性有限
- 主要文档为英文,中文资料较少
Ladybird 是什么
Ladybird 是一款真正独立的 Web 浏览器,不基于 Chromium、Gecko 或 WebKit,而是围绕 Web 标准自研浏览器引擎。项目源自 SerenityOS,目前处于 pre-alpha 阶段,官方明确说明仅适合开发者使用。
架构设计
Ladybird 采用多进程架构:
- 主 UI 进程:负责界面与用户交互
- 多个 WebContent 渲染进程:每个标签页独立渲染进程,并与系统其余部分沙箱隔离
- ImageDecoder 进程:图像解码在独立进程完成,降低恶意内容风险
- RequestServer 进程:网络连接同样进程外处理,提升健壮性
核心组件
许多基础库继承自 SerenityOS:
LibWeb:Web 渲染引擎LibJS:JavaScript 引擎LibWasm:WebAssembly 实现LibCrypto/LibTLS:密码学原语与 TLSLibHTTP:HTTP/1.1 客户端LibGfx:2D 图形、图像解码与渲染LibUnicode:Unicode 与区域支持LibMedia:音视频播放LibCore:事件循环与 OS 抽象层LibIPC:进程间通信
构建与运行
Ladybird 可在 Linux、macOS、Windows(通过 WSL2)以及多种类 Unix 系统上运行。具体构建步骤请参考仓库 Documentation/BuildInstructionsLadybird.md,代码相关文档位于 Documentation/ 目录。
参与贡献
项目通过 Discord 进行 issue 与开发讨论。新手可先阅读 Documentation/GettingStartedContributing.md,提交 issue 前请先了解 issue 政策与报告规范。项目采用 BSD-2-Clause 许可证。
评论
- 暂无评论,来写第一条吧。