Servo Mozilla 的浏览器引擎开源项目

我要开发同款
匿名用户2013年02月16日
68阅读
开发技术Rust
所属分类浏览器/JS引擎、Web应用开发
授权协议MPL

作品详情

Servo是一个Web浏览器引擎的原型,使用Rust语言开发,当前基于OSX和Linux开发。

Servo浏览器引擎的目标是为开发者提供最大的灵活性。为了实现这个目的,它必须提供稳定的API和ABI。它使用Rust编写,这使它可以提供能够从C语言中直接调用的API。考虑到重新设计一个嵌入式WebAPI非常复杂,比如需要编写大量的文档,测试大量的框架以及大力的推广应用等,所以他们采用了一种不同的方式。

Servo实现了Chromium嵌入式框架的API。这意味着,正在使用CEF的开发者不需要对应用程序做任何修改就可以比较Blink和Servo引擎的性能,未来的开发者也不需要考虑另外一种浏览器API。这种实现方式主要包含两个方面的工作:

确保“符号(Symbol)”完全覆盖:Servo嵌入式库可以钩连每个CEF函数调用。同时,任何时候分配的供外部使用的struct,其大小和成员位置必须与真正的CEF所分配的struct类似。符号列表可以借助Linux工具nm取得。

尽可能准确的模拟每个方法调用的功能:这需要完全了解CEF的每个函数以及它如何连接到浏览器引擎。

部分介绍内容节选自InfoQ

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论