Servo Mozilla 的浏览器引擎

开源网站开源项目 24-04-20 12:24:16

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 Mozilla 的浏览器引擎]相关推荐

Flaky 自动化重试测试插件

Flaky 是 nose 自动重试 flaky 测试的插件。事实上,有时候某些测试需要依赖于组件,不可能 100% 的可靠……...

Notes 小米便签

MiCode 便签是小米便签的社区开源版,由MIUI团队(www.miui.com) 发起并贡献第一批代码,遵循NOTICE文件所……...

fwrite 简易个人笔记系统

fwrite 简易个人笔记系统

fwrite 是一款简易的个人笔记系统。可用于个人文章记录、简易 wiki 等。 采用 python+web.py+mongodb 开……...

jes javascript模板引擎

javascript模板引擎,可用于nodejs和web端。运行代码: jes.renderFile('layout.jes', { title:'J……...

TANK 高性能分布式日志服务

TANK是一个非常高性能的分布式日志,部分受到 Kafka 以及其他类似的服务和技术的启发。 特性: 高性能 ……...

SMACK 软件验证工具链

SMACK即是一个模块化的软件验证工具链,又是一个独立的软件验证工具。它可以被用于验证输入程序里的断言……...

今日开源
  1. Webots 开源机器人模拟器

    Webots 开源机器人模拟器

    Webots 是用于模拟机器人的开放源代码和多平台桌面应用程序。它提供了一个完整的开发环境来对机器人进行建模,编程和仿真。 它被设计用于专业用途,并且广泛用于工业,教育和研究。自1998年以来,Cyber​​botics Lt……

    开源软件 2024-05-03

  2. par markdown 转换 html 工具

    par 是一个基于 pyPEG 写的转換 markdown 为 html 的工具,它是用 python 语言开发的。 除了支持标准的 markdown语法,还支持一些扩展语法,如 github 的 markdown 扩展及自定义的扩展,可以生成 boostrap 或 sema……

    开源软件 2024-05-03

  3. OSSEC 入侵检测程序

    OSSEC 入侵检测程序

    OSSEC是一款开源的入侵检测系统,包括了日志分析,全面检测,rook-kit检测。作为一款HIDS,OSSEC应该被安装在一台实施监控的 系统中。另外有时候不需要安装完全版本得OSSEC,如果有多台电脑都安装了OSSEC,那么就……

    开源软件 2024-05-03

返回顶部小火箭