Servo 是使用 Rust 开发的实验性浏览器引擎,最初由 Mozilla 发起,与其他浏览器引擎相比,Servo 在内存安全性、速度和并发性方面具有优势。
2020 年 Mozilla 大裁员期间裁掉了 Servo 引擎团队,Servo 的开发此后陷入了停滞。后来,Servo 项目后来找到 Linux 基金会托管,寻求为其它项目提供一个高性能的、安全的、可嵌入的模块化渲染引擎。
过去几个月,Servo 项目的开发再次活跃。其官方博客表示正在考虑采用新的布局引擎:Layout 2020。Servo 项目目前有两个布局引擎——Layout 2013 和 Layout 2020,顾名思义,其开发分别始于 2013 年和 2020 年,其中 Layout 2020 设计弥补 Layout 2013 的多个不足之处,开发者表示他们认为 Layout 2020 是项目继续前进的最佳布局引擎,计划不久之后迁移到该引擎。
Servo 目前有两种布局引擎:Layout 2013 和 Layout 2020。顾名思义,两者的开发分别始于 2013 年和 2020 年,这两种引擎的开发都已基本停滞。虽然 Layout 2013 更加成熟。但 Layout 2020 设计弥补了 Layout 2013 的多个不足之处,开发者表示他们认为 Layout 2020 是 Servo 项目继续前进的最佳布局引擎,计划不久之后迁移到该引擎。
在对比两款布局引擎的报告中,Servo 团队讨论了放弃其中一个引擎并完全专注于另一个引擎的想法,通过修复错误和添加功能逐步改进所选引擎。开发团队称他们的动机是避免重复工作、明确优先级并加快对缺失的 CSS2 功能的支持,同时为进一步实施 CSS3 做好准备。
团队认为他们应该优先考虑 Layout 2020,因为它修复了 Layout 2013 的一些基本设计问题,这些问题使布局的序列化相关部分变得困难,例如浮动和 CSS 计数器。 Layout 2020 还可以实现适当的碎片化支持,这是从头编写的布局引擎支持现代 CSS 的重要目标。这个论点是根据每个引擎的设计、特点和当前状态提出的。