Servo
Servo是一个由Mozilla开发的实验性网页浏览器排版引擎,该项目旨在创造一个大规模并行计算的环境,其中许多组件(如渲染、布局、HTML解析、图像解码等)都是并发的[4][5]。并且利用GPU加速来快速和流畅地渲染网页[6][7]。此项目与Rust编程语言有共生的关系。
![]() | |
![]() Servo页面渲染效果 | |
原作者 | Mozilla公司 |
---|---|
开发者 | Linux基金会 |
当前版本 |
|
源代码库 | |
编程语言 | Rust |
操作系统 | 跨平台 |
类型 | 排版引擎 |
许可协议 | MPL 2.0[2][3] |
网站 | servo![]() |
Servo使用的两个重要组件基于Mozilla现有的C++代码。JavaScript支持由SpiderMonkey提供,2D图形库Azure用于与OpenGL和Direct3D交互。[8]
发展
编辑Servo发展始于2012年。2012年2月8日第一次提交没有包含任何源代码[9]。2012年3月27日第一个基本代码提交[10]。
2013年4月3日,Mozilla宣布和三星合作开发Servo[11][12]。三星的主要贡献是将Servo移植到Android和ARM处理器上[13]。一位三星开发者还尝试在Servo中重新实现Chromium嵌入式框架API[14],但最终未能成功,该代码最终被移除[15]。
2014年11月,Servo在某些基准测试中的速度明显快于Gecko和其他排版引擎[16][17],并成功通过了Acid2测试。它具有诸如并发排版算法以及在Rust中实现的自己的CSS3和HTML5解析器[18][19]。Servo利用GPU加速技术更快速和流畅地呈现网页[20][21]。
2016年6月30日,Mac和Linux的预览版可供下载[22]。2017年4月13日,构建版可用于Windows[23]。
2017年,随着Firefox 54的发布,Mozilla将Servo CSS样式引擎集成到了其Gecko浏览器引擎[24]。
2020年8月,受到严重特殊传染性肺炎疫情影响,由于缺乏资金和组织重组,Mozilla裁撤了大部分Servo开发团队[25]。2020年11月17日起,Servo由Linux基金会接管[26][27]。
参考资料
编辑- ^ selectors-v0.22.0. 2019年12月19日 [2020年2月17日].
- ^ Mozilla Foundation End-User Licensing Agreements. [2014-12-15]. (原始内容存档于2014-10-21).
- ^ Mozilla Licensing Policies. mozilla.org. [2013-03-26]. (原始内容存档于2013-07-15).
- ^ Moffitt, Jack. Another Big Milestone for Servo—Acid2. 17 April 2014 [26 November 2015].
- ^ Servo Continues Pushing Forward. servo.org. 1 May 2015 [26 November 2015].
- ^ Bergstrom, Lars. Mozilla's Project Quantum and Servo. mozilla.dev.servo - Google Groups. [9 November 2016].
- ^ Clark, Lin. The whole web at maximum FPS: How WebRender gets rid of jank. Mozilla Hacks – the Web developer blog. 10 October 2017 [22 October 2017].
- ^ Willis, Nathan. Parallel page rendering with Mozilla Servo. LWN.net. 17 June 2015 [27 June 2015]. (原始内容存档于2016-04-06).
- ^ initial add · servo/servo@ce30d45. [2017-11-09]. (原始内容存档于2019-02-17).
- ^ Add some stubs and a makefile · servo/servo@783455f. [2017-11-09]. (原始内容存档于2019-02-17).
- ^ Mozilla and Samsung Collaborate on Next Generation Web Browser Engine. [2017-11-09]. (原始内容存档于2017-10-23).
- ^ Mozilla, Samsung team up on 'Servo' next-gen browser engine. [2017-11-09]. (原始内容存档于2017-11-09).
- ^ Samsung teams up with Mozilla to build browser engine for multicore machines. Ars Technica. 3 April 2013 [24 October 2014].
- ^ Blumenkrantz, Mike; Bergstrom, Lars. Servo: The Embeddable Browser Engine - Samsung Open Source Group Blog. Samsung Open Source Group Blog. 13 May 2015 [28 October 2016]. (原始内容存档于2015-05-13) (美国英语).
- ^ Dropping CEF support?, [7 November 2018] (美国英语)
- ^ Larabel, Michael. Mozilla's Servo Engine Is Crazy Fast Compared To Gecko. Phoronix. [10 May 2016]. (原始内容存档于2017-10-24).
- ^ Mozilla's Servo Is Whooping The Other Browsers In Performance. Phoronix. [10 May 2016]. (原始内容存档于2017-09-30).
- ^ Moffitt, Jack. Another Big Milestone for Servo—Acid2. April 17, 2014 [2015-11-26]. (原始内容存档于2016-05-17).
- ^ Servo Continues Pushing Forward. May 1, 2015 [2015-11-26]. (原始内容存档于2016-04-07).
- ^ Bergstrom, Lars. Mozilla's Project Quantum and Servo. mozilla.dev.servo - Google Groups. [9 November 2016]. (原始内容存档于2019-03-14).
- ^ Clark, Lin. The whole web at maximum FPS: How WebRender gets rid of jank. Mozilla Hacks – the Web developer blog. 10 October 2017 [22 October 2017]. (原始内容存档于2017-11-04).
- ^ Servo Nightly Builds Available. Servo Blog. 30 June 2016 [2017-11-09]. (原始内容存档于2017-10-11).
- ^ Windows nightly builds now available. Servo Blog. 13 April 2017 [2017-11-09]. (原始内容存档于2017-12-26).
- ^ Servo engines written in Rust deliver memory safety and multithreading. Mozilla Research. [2020-07-05]. (原始内容存档于2022-01-12) (美国英语).
- ^ Mozilla lays off 250 employees while it refocuses on commercial products. 2020-08-11 [2020-08-17]. (原始内容存档于2022-03-18).
- ^ Servo’s new home. blog.servo.org. 2020-11-17 [2021-03-16]. (原始内容存档于2021-05-20).
- ^ WinterIsComing (编). Servo 成为 Linux 基金会托管项目. Solidot. 2020-11-18 [2021-01-10]. (原始内容存档于2022-04-26).