Servo, браузерный движок

Servo - это современный высокопроизводительный браузерный движок, предназначенный как для приложений, так и для встроенного использования.


Проект Servo, спонсируемый Mozilla и написанный на новом языке системного программирования Rust, направлен на достижение лучшего параллелизма, безопасности, модульности и производительности.

Скачать Servo nightly

servo.org сгенерированный с помощью Servo Актульаная страница на 12.12.2018 сгенерированный с помощью Servo

Проект Servo, созданный Mozilla Research, создается глобальным сообществом от отдельных участников до таких компаний, как Mozilla и Samsung.

Servo в настоящее время поддерживает Linux, macOS, Windows и UWP.

Начало

Предпосылки

Вы можете найти то, что вам нужно для установки в вашей конкретной системе на нашей странице 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. Каждый запрос на вытягивание будет рассмотрен основным участником (кем-то, у кого есть разрешение на внесение исправлений) и либо попадет в основное дерево, либо получит отзыв о необходимых изменениях. Все материалы должны соответствовать этому формату, даже от основных участников.

Если вы хотите поработать над проблемой, сначала заявите о ней, прокомментировав проблему GitHub, над которой вы хотите работать. Это сделано для предотвращения дублирования усилий участников по одной и той же проблеме.

Если вы ищете простые ошибки, взгляните на issue-тег E-Easy в GitHub.

См. HACKING_QUICKSTART.md для получения дополнительной информации о том, как начать работать с Servo.

Pull Request чеклист

  • Отделение от master ветки и, если необходимо, rebase на текущую master ветку Если она не сливается с master вектой, вас могут попросить внести изменения в вашу ветку.
  • Не помещайте обновления подмодулей в pull-request, если они не предназначены для приземлённых коммитов.
  • Если ваш патч не проверяется или вам нужен конкретный человек, чтобы просмотреть его, вы можете использовать @, запрашивающего рецензию в pull-request или комментарий, или вы можете попросить о пересмотре в комнате Servo в Mozilla Matrix.
  • Добавляйте тесты, относящиеся к исправленной ошибке или новой функции. Смотрите наш справочник по тестированию для получения большей информации.
  • Для получения конкретных инструкций по git см. GitHub workflow 101.
Начать контрбьютить

Коммуникация

Servo contributors frequent the комната Servo в Mozilla Matrix. Вы также можете присоединиться к рассылке dev-servo.

Кодекс поведения

Мы соблюдаем кодекс поведения Rust.

Наш сайт на других языках: English, 简体中文, 正體中文(繁體中文), 한국어, 日本語