- PVSM.RU - https://www.pvsm.ru -

Альфа-версия браузера на движке Mozilla Servo выйдет в июне

Экспериментальный движок Mozilla Servo [1] близок к выпуску альфа-версии. На днях разработчики сообщили, что планируют первый релиз Servo+Browser.html на июнь 2016 года [2].

Servo – движок, написанный с нуля на языке программирования Rust. Он отличается лучшей безопасностью, модульностью, а также исключительно высокой производительностью [3] за счёт алгоритма параллельной компоновки страниц и новых парсеров CSS3 и HTML5 на Rust. Два важных компонента используют существующие модули на C++ от Mozilla: это движок SpiderMonkey [4] для обработки JavaScript и библиотека 2D-графики Azure для OpenGL и Direct3D.

Сравнение производительности Servo с другими браузерами, 3 марта 2016 г.
Chrome Canary – 15 FPS
Mozilla Firefox Developer – 9 FPS
Apple WebKit Nightly – 5 FPS
Mozilla Servo – 60 FPS

В данный момент Servo работает под 64-битным Linux, 64-битной OS X, Android и Gonk (Firefox OS). Правда, есть ряд багов с рендерингом. Servo идеально отображает browser.html, но на реальных сайтах возникают проблемы. К июню разработчики хотят исправить баги с рендерингом наиболее актуальных сайтов — Github, Duckduckgo, Hackernews и Reddit. Открыты соответствующие тикеты.

github.com/servo/servo/issues/9914 [5] [meta] баги github.com
github.com/servo/servo/issues/9915 [6] [meta] баги duckduckgo
github.com/servo/servo/issues/9916 [7] [meta] баги hackernews
github.com/servo/servo/issues/9917 [8] [meta] баги reddit

Высокий уровень параллелизма — ключевое достоинство Servo. Оно позволяет использовать многоядерную архитектуру современных процессоров. Разработчики объясняют [9] причины, которые сподвигли их на создание нового движка. Во-первых, современные движки огромны, это миллионы строк кода. Такой объём кода невозможно оптимизировать, он слишком велик и не поддаётся рефакторингу. Легче переписать с нуля.

Альфа-версия браузера на движке Mozilla Servo выйдет в июне - 1

Нынешние браузеры, в том числе Firefox, разработаны много лет назад для одноядерных процессоров и совсем простеньких веб-страниц. Всё это наследие сохраняется в нынешнем коде, от которого лучше избавиться.

Вторая причина, по словам разработчиков, это небезопасность C++. Большинство уязвимостей в современных браузерах связаны с эксплуатацией модели памяти C++. В отличие от него, Rust – быстрый и безопасный язык программирования, с автоматическим управлением памятью, без состояний гонки, со встроенным параллелизмом и т.д.

Презентация "Servo: Building a Parallel Browser"

Автор: alizar

Источник [10]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/firefox-2/115160

Ссылки в тексте:

[1] Mozilla Servo: https://servo.org/

[2] на июнь 2016 года: https://groups.google.com/forum/#!topic/mozilla.dev.servo/dcrNW6389g4

[3] исключительно высокой производительностью: https://www.youtube.com/watch?v=u0hYIRQRiws

[4] SpiderMonkey: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey

[5] github.com/servo/servo/issues/9914: https://github.com/servo/servo/issues/9914

[6] github.com/servo/servo/issues/9915: https://github.com/servo/servo/issues/9915

[7] github.com/servo/servo/issues/9916: https://github.com/servo/servo/issues/9916

[8] github.com/servo/servo/issues/9917: https://github.com/servo/servo/issues/9917

[9] объясняют: https://www.youtube.com/watch?v=7q9vIMXSTzc

[10] Источник: https://geektimes.ru/post/272732/