AX 爱鲜报

Ladybird 独立浏览器

Ladybird 是一款真正独立的现代 Web 浏览器,基于 Web 标准自研引擎,采用多进程架构,从 SerenityOS 继承 LibWeb、LibJS 等核心组件,目前处于 pre-alpha 阶段,主要面向开发者。

过去 7 天收获 1 颗 Star

爱鲜报评分

0.0

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:密码学原语与 TLS
  • LibHTTP: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 许可证。

评论

登录后才可评论与评分

0 条评论

  • 暂无评论,来写第一条吧。