微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Servo Mozilla 的浏览器引擎

程序名称:Servo

授权协议: MPL

操作系统: Linux

开发语言: Rust

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的每个函数以及它如何连接到浏览器引擎。

部分介绍内容节选自 InfoQ

Servo 官网

https://github.com/servo/servo

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐