架构师大咖
架构师大咖,打造有价值的架构师交流平台。分享架构师干货、教程、课程、资讯。架构师大咖,每日推送。这两天,国外社交媒体平台 HN 上有个浏览器迅速走红,成为众人关注的焦点。
![](http://mmbiz.qpic.cn/sz_mmbiz_png/q7kM1wTg0eh6KtMdGibhqqHq3gjqjq4PR8abnl1aLibUrlwNzRfZBprWRYKgpYXM3YcJVHPzdNW6hYetEL07JRww/640?wx_fmt=png&from=appmsg)
这款由资深开发者 Andreas Kling 构建的 Ladybird 浏览器,主打一个完全独立,声称不会从任何现有的浏览器代码中进行复制,研发了基于 Web 标准的全新引擎。与此同时,Andreas Kling 透露,和现在一使用广告就“满天飞”的浏览器不同,Ladybird 另一大特点就是保持非营利运营,仅接受项目捐赠而不是开放广告位来维持运转。
如今,这一项目受到了 GitHub 创始人兼前 CEO Chris Wanstrath 的青睐,其个人甚至出资 100 万美元来支持 Ladybird 的开发,希望这款完全从头编写的 Ladybird 加入浏览器战局,能够有所作为。
![](http://mmbiz.qpic.cn/sz_mmbiz_png/q7kM1wTg0eh6KtMdGibhqqHq3gjqjq4PReia6TiaNvNClnsoTZmWfqcs4gsRj4VTDH7icWzwDeVC1mEBKgYXL2MxHA/640?wx_fmt=png&from=appmsg)
![](http://mmbiz.qpic.cn/mmbiz_png/Pn4Sm0RsAujX5kS5KQ6BaBUsy1RqR06QuwjkSP1G6wEJHaJCLTONqlcQexqRgJcIICxofIOJs6B6tWBfibb7now/640?wx_fmt=png)
从自研操作系统到主攻研发浏览器
对于 Ladybird 创始人 Andreas Kling,我们此前也做过报道。他曾任职于苹果(2011-2017 年)、诺基亚(2009-2011 年)等大厂,主要负责基于 WebKit 的 Web 浏览器开发工作,非常擅长使用 C++。“现在的你,很有可能正在使用一个因为我而速度稍快的浏览器阅读本文”,他在博客介绍页写道。
不过,遗憾的是,从苹果离职后不久的 Andreas Kling 误入歧途,直到 2018 年 10 月,他从当地一家戒毒所完成了为期 3 个月的康复计划。
出来之后,Andreas Kling 失业了。他与家人住在一起,无所事事。由于没有药物或其他恶习可以打发时间,他觉得日子太过漫长了。
「我需要一些东西来打发空闲时间,同时学习如何过上正常的生活,而事实证明,构建一个新的操作系统是一项恰到好处的任务」,Andreas Kling 由此开发一款名为 SerenityOS(“宁静”操作系统)操作系统,将其作为自己的全职工作,并通过接受捐款、SerenityOS 商品销售和 YouTube 分享视频而获得收入来维持这项开发工作。
为了增强系统的完善性,Andreas Kling 还于 2022 年首次推出了 Ladybird 项目。起初该项目是作为 SerenityOS 系统的 LibWeb 和 LibJS 浏览器引擎调试工具,相当于一个 HTML 查看器,它可以让人们可以更轻松地在 Linux 上工作。而后在不断开发尝试中,Andreas Kling 将该项目定位为一款“跨平台浏览器”。
今年 6 月 3 日,Andreas Kling 宣布将离开自己一手创建的 SerenityOS 操作系统项目,然后将精力全部放到这款 Ladybird 浏览器研发上。
![](http://mmbiz.qpic.cn/mmbiz_png/Pn4Sm0RsAujX5kS5KQ6BaBUsy1RqR06QDyP5HTUOXsPlJWd79yygiasaqXicpN7ibIfqiak5WFpaxE1mGxxpfmMjiaA/640?wx_fmt=png)
打造一款独一无二的浏览器
之所以要开发这款浏览器,简单来看,该团队是看不惯如今被各种广告缠身的 Chrome、Edge、Brave 等浏览器。
此次出资百万来支持 Ladybird 开发的背后金主 GitHub 创始人兼前 CEO Chris Wanstrath 对此解释道:
“事实上,正是开源、开放标准和良性竞争将网络从 2000 年代的黑暗时代拉回到 2010 年代的创新大潮中,当时,深受 Firefox 浏览器影响的谷歌 Chrome 浏览器开始获得主流动力。
如今,每个主要的浏览器引擎都是开源的,这固然很好,但仍有一个问题:它们都由 Google 的广告帝国提供资金。Chrome、Edge、Brave、Arc 和 Opera 都使用 Google 的 Chromium。苹果公司获得了数十亿美元的资助,让 Google 成为 Safari 的默认搜索引擎,Firefox 浏览器也有类似的协议,每年获得数亿美元的资助。
Web 太重要了,以至于不能只有一个主要的资金来源,而这个资金来源又太重要了,以至于不能只有广告。
所以,我们需要一个新的浏览器。”
为了迫切改变现状,Ladybird 浏览器创始人 Andreas Kling 和 Chris Wanstrath 二人合作创建了一个名为“Ladybird 浏览器计划”(Ladybird Browser Initiative)的美国非营利性组织,旨在推动浏览器的开发,并使各种规模的支持者更容易赞助开发。
同时,正如文章伊始所述,Ladybird 在开发运营时主打了三个独一无二的特性,即:
构建一款真正独立的 Web 浏览器。基于 Web 标准的全新引擎,不借用其他浏览器的任何代码。
整个组织只有一个目标,就是开发 Ladybird 浏览器。
不追逐营收:永远不会存在“默认搜索交易”、加密代币或其他任何形式的用户货币化。
![](http://mmbiz.qpic.cn/sz_mmbiz_png/q7kM1wTg0eiae7L7kQUZib41VwJNS8FXVCwapQeI2s5orz1Wbsia0NGuRUfrZia5icnxvUI0fLao84YPYOFt2Gz3f3A/640?wx_fmt=png&from=appmsg)
现实来看,没有资金收入,不将用户视为待售产品的浏览器,Ladybird 究竟要如何先度过生存这一关卡?
Andreas Kling 在官方公告中写道,“与依赖用户盈利的传统商业模式不同,Ladybird 的资金完全来自关心开放网络的公司和个人的赞助和捐赠。我们的非营利组织不会在无限制捐赠之外寻求企业交易或收入。该软件及其源代码将永远免费提供。”
尽管很多人很容易将“通过捐款资助网络浏览器”的想法视为无法实现的异想天开的目标,但 Ladybird 其实已经获得了初步的成功,除了 GitHub 创始人兼前 CEO Chris Wanstrath 捐赠 100 万美元之外,早在一年前,在其所有代码全都托管在 GitHub 上时(https://github.com/LadybirdBrowser/ladybird),也引起不少组织和开发者的关注,包括加拿大的一家跨国电子商务公司 Shopify 就赞助了 10 万美元。
![](http://mmbiz.qpic.cn/mmbiz_png/Pn4Sm0RsAujX5kS5KQ6BaBUsy1RqR06Q0QtgZAx8xsoTReptvArfwbn9MvHGVfV98Qkl5PMRS6MCt2ljwLJwoQ/640?wx_fmt=png)
Ladybird 当前的开发进度
截至目前,Ladybird 的主要开发力量是 Andreas Kling 一个人,随着 Chris Wanstrath 的资金赞助,也即将会有三名全职开发者加入该项目。不过,Ladybird 仍处于早期开发阶段("pre-alpha")。
Andreas Kling 表示,浏览器和库都是用 C++ 编写的,并根据 BSD-2 许可证授权。它目前可以支持 Linux、macOS 和其他类 Unix 系统,也可以通过 Windows Subsystem for Linux (WSL) version 2 在 Windows 上运行。
根据 GitHub 介绍,Ladybird 许多核心库支持组件都是从 SerenityOS 继承而来的,主要技术栈包括:
Ladybird:选项卡式浏览器 GUI 应用程序
LibWeb:Web 引擎,多种标准:HTML、DOM、CSS、SVG……
LibJS:ECMAScript 语言、运行时库、垃圾收集器
LibGfx:2D 图形、文本渲染、图像格式(PNG、JPG、GIF 等)
LibRegex:正则表达式引擎
LibXML:XML 解析器
LibWasm:WebAssembly 解析器和解释器
LibUnicode:Unicode 支持库
LibTextCodec:文本编码转换库
LibMarkdown:Markdown 解析器
LibCore:其他支持功能(I/O、日期时间、MIME 数据……)
Qt:跨平台 GUI 和网络
采用多进程的浏览器架构图如下:
![](http://mmbiz.qpic.cn/sz_mmbiz_png/q7kM1wTg0ehnZ3OkQ98rOvjaC2gthWXdgq8v8JoBNHg0BXnlNagmTiaAsjOqFz0OMLaiaH84Rx4e4xaibwOJ1tRibQ/640?wx_fmt=png&from=appmsg)
当前 Ladybird 浏览器的功能还比较少,拥有 URL/搜索栏、重新加载、标签页、内容放大/缩小、截图以及前后导航功能。但它没有书签、历史显示、扩展、密码管理、打印,甚至没有保存图片的功能,似乎还不支持 WebRTC。
不过,Ladybird 确实为开发者提供了一些工具,例如文档对象模型 (DOM) 树和可访问性树的检查器,以及创建各种内容转储的能力:DOM 树和布局树、计算样式等。它还具有伪装浏览器发送的用户代理 (User-Agent) 字符串的功能,使测试人员能够尝试绕过那些拒绝与“未知”浏览器配合工作的网站。
![](http://mmbiz.qpic.cn/sz_mmbiz_png/q7kM1wTg0ehnZ3OkQ98rOvjaC2gthWXdMPqFwtkEu9EaTCjnYWtQAOsGqbCteY5rGZ73iaQhfS3XVjx6gQ9fOPA/640?wx_fmt=png&from=appmsg)
值得注意的是,该项目当前没有为任何平台提供二进制文件。感兴趣的用户需要获取源代码(https://github.com/LadybirdBrowser/ladybird),并按照说明进行构建。用户需要 GCC 13+ 或 Clang 17 以及 Qt6 开发包才能在自己的设备上运行。
![](http://mmbiz.qpic.cn/mmbiz_png/Pn4Sm0RsAujX5kS5KQ6BaBUsy1RqR06Q3SAo8dibFicWvibnB5u4gdHLgb2AbA6UJ8VImKnyW92hibqZefwpDbPYAQ/640?wx_fmt=png)
随着 Ladybird 官宣成立非营利组织,越来越多的开发者持以期待。
一位名为 Jack Kelly 评价道:
开放的网络需要一个由多个相互竞争的浏览器组成的健康生态系统,每个浏览器都有足够的市场份额,没有任何一家厂商能实际控制网络标准。20 世纪 90 年代,火狐浏览器(Firefox)打破了微软 Internet Explorer(IE)浏览器的霸主地位,这就是我们曾经拥有的世界。在整个 20 世纪 90 年代末和 21 世纪初,IE 对互联网标准的不力支持阻碍了网络开发,而 Firefox 的竞争让开发者可以 “为 Web”而不是“为 IE6”开发,从而迫使浏览器供应商迎头赶上。
不幸的是,我们又回到了一个没有良性浏览器竞争的世界。Statcounter.com 声称,谷歌浏览器 Chrome 的市场份额超过 65%。加上 Edge(使用了开源的 Chromium 引擎),市场份额已超过 70%。这种市场主导地位使谷歌能够推动各种变革,比如针对浏览器扩展的“Manifest V3”格式,巧合的是,这种格式会削弱广告拦截器。
一个健康的浏览器生态系统本可以大力反对那些夺走用户控制权的功能。相反,Mozilla 却为了维持火狐浏览器的市场份额而屈服,甚至连这一点都没有做到。
Mozilla 已经陷入了非常不利的境地。近年来,Mozilla 公司为了追求收入,做出了一些有争议的举动。在我的印象中,有自动加载到人们浏览器中为电视节目做广告的“Mr Robot”插件;地址栏中的赞助商链接;“新标签”页面上的赞助商“热门网站”;一个名为“Pocket”的阅读列表启动程序,在没有任何警告的情况下集成到火狐浏览器中;以及一个带有浏览器弹出广告的 Mozilla VPN 服务。Cal Paterson 列出了另一份不错的清单。与此同时,火狐浏览器的市场份额下降,即将离任的 Mozilla 公司首席执行官获得了数百万美元的薪酬(2022 年为 690 万美元)。
Ladybird 曾是 SerenityOS 的网络浏览器。大约一个月前,他将 Ladybird 分叉为一个单独的项目并离开了 SerenityOS 。他们非常坦诚地承认该浏览器尚未完成——第一个 alpha 版本计划于 2026 年发布。但他们有正在运行的代码,我实际上可以帮助资助他们。
也有开发者 Joe Brockmeier 实测发现:
Ladybird 在 Fedora 40 等平台上的编译和运行没有问题,但距离适合常规使用还有很长的路要走。
此外,Ladybird 对 GitHub 和许多其他网站的呈现都很好,尽管速度很慢。不过,使用 Ladybird 无法登录 Discord。它在渲染网页方面做得还不错,但速度和稳定性仍有欠缺。
每个 Ladybird 标签都有自己的渲染进程,作为一项安全措施,该进程被置于沙盒之中,以防止任何恶意网页影响系统的其他部分。不过,这似乎并不足以防止单个页面导致浏览器完全崩溃。对于一个仍被视为预开发阶段的项目来说,这也在意料之中。
只能说,Ladybird 还没有准备好成为主流应用,但它确实显示出了潜力。在过去的一个月里,该项目已经获得了来自 49 位作者的 880 多次提交。如果该项目能保持这样的势头,或者更上一层楼,那么用不了多久,它就能成为主流浏览器的可用替代品。
X 平台上 boris1993 用户认为:
所有引擎都重写……这工作量不是一般的大吧…… 而且,就算是引擎完全符合规范,如果不能给用户带来差别体验(Chrome显示不正常但是它显示正常),那我感觉很难作为卖点,更不提其他浏览器的周边生态,同步账号之类的
不过,这大哥也是个狠人,靠写代码来戒毒……
当然还是预祝成功
对此,Andreas Kling 坦然表示,「我们已经可以使用 Ladybird 进行一些日常浏览,例如管理 GitHub 问题和拉取请求,以及在 Hacker News 上发表评论。由于我们的贡献者社区正在积极修复错误并添加功能,该浏览器每天都在改进。
但它还远远没有完成。我们想把 Ladybird 变成一款你可以每天用来处理所有与网络相关的任务的浏览器。它应该快速、稳定、支持网络标准并保护你的隐私。一款属于你的浏览器。」
按照预期,该组织可能会在 2026 年某个时候推出功能齐全的 Ladybird 浏览器“Alpha”版本,期待会有不一样的浏览器落地。
来源:
https://ladybird.org/announcement/
https://ladybird.org/why-ladybird/
http://jackkelly.name/blog/archives/2024/07/06/im_funding_ladybird_because_i_cant_fund_firefox/
https://lwn.net/Articles/976822/
https://lunduke.locals.com/post/5812560/ladybird-web-browser-becomes-a-non-profit-with-1-million-from-github-founder
https://x.com/LuoSays/status/1808289887348838504
Python入门到精通
Python入门到精通:人生苦短,我用Python!Python每日推送、Python教程、Python资料、Python视频、Python项目、Python学习等。