Servo 一个并行浏览器引擎项目

Servo 是一款现代化的高性能浏览器引擎, 专为应用和嵌入式应用而设计。


由 Mozilla 赞助并由全新的系统级编程语言 Rust, 编写,Servo 项目旨在实现更好的并行性,安全性,模块化以及高性能。

servo.org rendered with Servo 本页在 2016 年 7 月 3 日在 Servo 中的截图

Servo 项目是一个由 Mozilla Research 创建的全球社区。其中有个人贡献者,也不乏 Mozilla 、Samsung 这样的公司。

Servo 目前支持 Linux、macOS、Windows 和 Android。

入门

系统所需

您要在我们的 GitHub 上找到您需要在您的特定系统上安装的部件。

构建

Servo 是由 Cargo(Rust 的包管理器)构建的。 我们还使用 Mozilla 的 Mach 工具来编排构建和其他任务。

一般构建

在开发模式下构建 Servo。 这对开发很有帮助,但生成可执行文件极慢。

git clone https://github.com/servo/servo
cd servo
./mach build --dev
./mach run tests/html/about-mozilla.html

要进行基准测试、性能测试或真实使用,请添加 --release 标志以创建优化版本:

./mach build --release
./mach run --release tests/html/about-mozilla.html

运行

使用 ./mach run [url] 运行 Servo。

命令行参数

  • -p INTERVAL 打开分析器并且每隔 INTERVAL 秒将信息转储到控制台
  • -s SIZE 设置绘画模块大小(默认值:512)
  • -z 禁用所有图形输出,用于运行 JS 或布局测试

贡献

Servo 项目鼓励有经验和新开发者的贡献。 查看页面底部链接以了解更多信息。为了 Servo 的蓬勃发展,加入全球数百贡献者团队吧!

对 Servo 或其依赖关系的贡献应该用 GitHub Pull Request 的形式提交。 每个 pull 请求将由核心贡献者(有权限修补程序的人员)审核,合并到主分支中或给出反馈,以获取所需的更改。 所有贡献应遵循此形式,包括来自核心贡献者的贡献。

如果您希望处理某个问题,请首先通过评论您要在其上工作的GitHub issue 进行声明, 此举是为了防止在同一问题上贡献者们的重复劳动。

如果您在找那些对于初学者来说非常简单的漏洞,请查看 GitHub 上 E-Easy 的 issue 标签

有关如何开始修改 Servo 的详细信息,请参阅 HACKING_QUICKSTART.md

Pull Request 检查清单

  • 请从主分支分支,如果需要请在提交 Pull Request 之前重组到当前主分支。 如果它不能与主分支完全合并,您可能会被要求退回您的更改。
  • 请不要将子模块更新放在您的 Pull Request 中,除非它们影响提交。
  • 如果您的补丁没有得到审核,或者您需要特定的人来审核, 您可以 @ 请求审核人员在 pull 请求或评论中要求审核, 您也可以在 irc.mozilla.org的 #servo 上要求审核 。 如需中文服务请联系:KiChjangshinglyu
  • 为新功能或修复错误添加相关测试。DOM 的修改通常需要一个 Web 平台测试;布局的修改需要一个参考测试(reftest)。有关详细信息,请参阅 测试指南
  • 有关特定的git指令,请参阅 GitHub 工作流程 101
开始贡献

联系我们

Servo 的贡献者经常在 irc.mozilla.org. 的 #servo 频道。您也可以加入 dev-servo 邮件列表

行为守则

我们遵循 Rust 的行为守则。

此页面汉化由 3442853561 提供

其他本土化页面: English