- Выпущена новая версия браузерного движка Servo 0.0.2, написанного на языке Rust.
- Servo поддерживает многопоточный рендеринг и распараллеливание операций с DOM, что повышает производительность на многоядерных процессорах.
- В версии 0.0.2 реализованы новые функции, включая поддержку XPath, API для сжатия данных и улучшения в рендеринге и взаимодействии с видео и аудио.
Проект браузерного движка Servo, разрабатываемого с использованием языка программирования Rust, выпустил вторую стабильную версию — Servo 0.0.2. Данный релиз доступен на GitHub под лицензиями Mozilla Public License 2.0 и BSD 3-Clause License и включает множество улучшений и новых функций. По словам разработчиков, эта версия соответствует ночной сборке от 14 ноября и прошла дополнительное ручное тестирование. Планируется, что обновления будут выходить как минимум раз в месяц.
Servo изначально создавался компанией Mozilla, однако в дальнейшем проект перешёл под управление Linux Foundation. Особенностью движка является продвинутый многопоточный рендеринг, позволяющий распараллеливать обработку DOM и эффективно использовать ресурсы современных многоядерных процессоров. Части этого движка уже интегрированы в браузер Firefox, в частности, многопоточный CSS-движок и система отрисовки WebRender. Помимо этого, на базе Servo развивается демонстрационный браузер ServoShell, для которого в новой версии начала формироваться поддержка платформы arm64 на macOS.
Основные нововведения Servo 0.0.2 включают включённую по умолчанию поддержку XPath — языка запросов к XML-документам, а также AbortController и AbortSignal для отмены асинхронных операций. Добавлены API CompressionStream и DecompressionStream, предназначенные для сжатия и распаковки потоков данных. Улучшена работа с мультимедиа — реализована поддержка элемента <source> внутри <video> и <audio>, что расширяет возможности воспроизведения медиафайлов.
Также были внедрены методы fetchLater() и Document.parseHTMLUnsafe(), расширяющие инструменты для работы с сетью и парсингом HTML. Событие UIEvent теперь содержит новые свойства «which» и «relatedTarget», а API HTMLMapElement – свойства «name» и «areas». В движке отрисовки реализовано синтетическое жирное начертание символов, при котором текст утолщается программно без необходимости применять отдельный шрифт. Добавлена поддержка vsync, обеспечивающая синхронизацию начала отрисовки с кадрами экрана и улучшая плавность анимаций.
Для мобильной версии демонстрационного браузера ServoShell на Android введён экспериментальный режим, активирующий нестабильные функции и поддержку сенсорного ввода: обеспечена обработка касаний, вывод экранной клавиатуры, поддержка масштабирования щипками и прокрутки клавиатуры при её изменении размера.
Таким образом, Servo продолжает развиваться как инновационный браузерный движок с упором на безопасность, многопоточность и современный набор веб-технологий. Использование Rust способствует достижению высокой надёжности и производительности, что делает проект интересным для дальнейшего интегрирования в крупные браузеры и разработки собственных решений.
