开启辅助访问 切换到窄版

打印 上一主题 下一主题

浏览器引擎Servo成为Linux基金会托管项目

[复制链接]
作者:宁死不 
版块:
嵌入式操作系统 linux 发布时间:2020-11-19 19:14:20
11250
楼主
跳转到指定楼层
| 只看该作者 回帖奖励 |倒序浏览 |阅读模式

今年8月,Mozilla 宣布裁员 25%,其中正好包括 Servo 团队的开发人员。Servo 是使用 Rust 开发的实验性浏览器引擎,与其他浏览器引擎相比,Servo 在内存安全性、速度和并发性方面具有优势。

Firefox Quantum 时期,Servo 就已被用作 Firefox 的 CSS 解析引擎,到现在,Firefox 已整合多个 Servo 组件。经过在 Mozilla 多年的孵化,Servo 证明了重要的 Web 组件(如 CSS 引擎和渲染)也可以使用 Rust 实现,所以 Mozilla 突然砍掉 Servo 团队让不少人感到意外,这个项目是否会因此而终止?
Servo 近日宣布已交由 Linux 基金会托管,这一举动带来了项目治理方面的变化,基金会将成立一个董事会和技术指导委员会去指导项目的未来,详见 http://github.com/servo/project/。
Servo 表示项目的目标保持不变:提供一个可嵌入其他应用的高性能、安全渲染引擎。技术指导委员会的责任是为这些目标提供指导,并使更广泛的 Servo 社区做出有意义的贡献,以推动完成这一使命。
Linux 基金会高级副总裁兼项目总经理 Mike Dolan 认为 Servo 是使用 Web 技术构建应用程序的“最有前途、最现代且最开放的 Web 引擎”。他指出这与 Rust 有很大关系,Linux 基金会也希望在未来几十年内支持并维护这项重要工作。

延伸阅读:Servo介绍Servo 是一个 Web 浏览器引擎的原型,使用 Rust 语言开发,当前基于 OS X 和 Linux 开发。
Servo浏览器引擎的目标是为开发者提供最大的灵活性。为了实现这个目的,它必须提供稳定的API和ABI。它使用Rust编写,这使它可以提供能够从C语言中直接调用的API。考虑到重新设计一个嵌入式Web API非常复杂,比如需要编写大量的文档,测试大量的框架以及大力的推广应用等,所以他们采用了一种不同的方式。
Servo实现了Chromium嵌入式框架的API。这意味着,正在使用CEF的开发者不需要对应用程序做任何修改就可以比较Blink和Servo引擎的性能,未来的开发者也不需要考虑另外一种浏览器API。这种实现方式主要包含两个方面的工作:

  • 确保“符号(Symbol)”完全覆盖:Servo嵌入式库可以钩连每个CEF函数调用。同时,任何时候分配的供外部使用的struct,其大小和成员位置必须与真正的CEF所分配的struct类似。符号列表可以借助Linux工具nm取得。
  • 尽可能准确的模拟每个方法调用的功能:这需要完全了解CEF的每个函数以及它如何连接到浏览器引擎。
▼ 往期精彩回顾 ▼

觉得不错,请点个在看呀

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表