本文聚焦于开源浏览器引擎领域的两位新秀Servo和Ladybird,详细分析了它们的起源发展、资金状况、技术差异、网络标准支持以及性能表现,对比二者优势与不足,展望其未来前景。
在开源浏览器引擎的广阔天地中,两颗新星正冉冉升起。它们正以独特的姿态,挑战着Chrome、Firefox和Safari等传统浏览器的主导地位。接下来,我们将深入剖析Servo和Ladybird这两个极具潜力的项目,全面比较它们的发展历程、资金状况、技术表现以及未来的发展前景。
起源与发展历程
Servo于2012年作为Mozilla的研究项目问世。当时,开发者们希望借助Rust语言出色的内存安全特性和强大的并发功能,来加速网页的渲染速度。到了2014年,该项目顺利通过了基本的Acid2测试。仅仅两年后的2016年,在某些特定任务的处理上,Servo已经展现出超越其他引擎的实力。
随后,Mozilla开启了将Servo的组件移植到Firefox的Gecko引擎的工作,这个名为“Quantum”的项目,为Firefox带来了显著的性能提升。然而,命运的转折总是突如其来,2020年Mozilla进行大规模裁员,整个Servo团队不幸被裁掉,项目转由Linux基金会管理,但此时项目几乎没有资金支持。直到2023年1月,在“外部资金”的支持下,通过Igalia公司的开发团队,Servo才得以重获新生。
Ladybird是由单一开发者Andreas Kling在2022年创建的开源网络浏览器。不过,其背后的LibWeb引擎实际上早在2019年就已启动,在Ladybird诞生之前,已有数百人参与了该引擎的贡献。2022年,Ladybird/LibWeb成功通过了Acid3测试。项目最初的资金主要来源于Patreon和GitHub的赞助、YouTube的广告收入以及周边产品的销售,并且明确拒绝接受风险投资。
随着项目规模的不断扩大,Kling做出了一个重要决定,将Ladybird从SerenityOS中分离出来,成立了独立的非营利组织“Ladybird Browser Initiative”。
主要差异
尽管Servo和Ladybird都属于开源浏览器技术,但它们之间存在着几个关键的差异:
-
定位不同:Servo是专门设计的浏览器引擎,从一开始就考虑到了易于嵌入各种应用程序中;而Ladybird则是一个完整的浏览器,其引擎LibWeb主要是为自身服务。
-
技术栈:Servo从项目启动就采用Rust语言进行开发,着重强调内存安全和并发性能;Ladybird则选择使用C++来构建。
-
发展理念:据Andreas Kling所说,Servo更像是一个实验性的项目,追求创新和实验性的突破;Ladybird则更加注重实用性和兼容性。
在资金方面,Servo由神秘的“外部资金”支持Igalia的5名开发者,同时还通过GitHub赞助和OpenCollective来募集资金。截至文章发布时,在GitHub上有313位赞助者,每年大约有2万美元的收入;在OpenCollective上,一年内筹集了4.4万美元,年度预算估计为6.1万美元,理论上可以支持6名全职开发者。
Ladybird的资金状况则更为可观。项目收到了GitHub联合创始人Chris Wanstrath家族的100万美元捐赠,Shopify的10万美元资助,以及来自Proton VPN、Ahrefs等机构合计20万美元的赞助。这些资金使得团队能够维持7名全职工程师,并拥有18个月的资金储备。总体而言,Ladybird在资金和团队规模上略占优势,但差距并不是非常大。
网络标准支持
在网络标准测试方面,Ladybird表现出色,通过了Acid3测试并获得了满分,而Servo仅达到83分。在更全面的网络平台测试中,Ladybird通过了88%的测试,Servo为76%,作为参考的Chrome成绩是97%。不过,在特定类别上进行比较时,Servo在CSS测试中表现更佳(49%对42%),特别是在CSS2、cssom和flexbox等方面。值得注意的是,5个月前Servo在网络平台测试中还处于领先地位,但Ladybird迅速追赶了上来。总体而言,Ladybird在网络标准兼容性方面的发展速度更快,但Servo在其专注的领域更具优势。
性能表现
在性能测试方面,Servo展现出了明显的优势:
-
在JetStream测试中,Servo得分129.833(Chrome为243.338),而Ladybird无法完成该测试。
-
在Octane测试中,Servo的分数比Ladybird高出一个数量级。
-
在Speedometer v2测试中,Servo的得分约为Ladybird的7倍。
作者还在随机选择的政府网页上进行了非科学测试,结果发现Ladybird在大多数情况下的加载速度明显慢于Servo。
总结与前景
Servo和Ladybird代表了开源浏览器引擎的不同发展路径:
-
Ladybird拥有更丰厚的资金支持,在网络标准兼容性方面的发展速度更快,团队规模稍大,社区影响力也在持续扩大。
-
Servo则凭借Rust语言带来的并发优势,在性能方面遥遥领先,特别是在Java执行和应用响应速度上表现出色。
本文详细介绍了开源浏览器引擎领域的Servo和Ladybird两个项目,从起源发展到资金、技术、网络标准支持及性能表现进行了全面对比。Ladybird资金充裕、网络标准兼容性发展快、团队与社区优势明显;Servo则凭借Rust语言在性能上占据领先。二者各有千秋,代表了开源浏览器引擎不同的发展方向,未来发展值得期待。