Компания Google представила Blink, форк движка WebKit
Компания Google объявила о создании собственного форка движка WebKit и его использования в браузерах Chrome и Chromium. Новый движок, названный Blink, базируется на многопроцессной архитектуре, изначально используемой в проектах Chrome/Chromium и существенно отличающейся от основной архитектуры распараллеливания операций в WebKit. Основной причиной создания форка является возросшая трудоёмкость параллельного поддержания разработки отдельной многопроцессной модели, изначально используемой в Chromе, но неприемлемой для универсального движка WebKit и некоторых других браузеров. Суть различий сводится к тому, что WebKit2 предоставляет специальный фреймворк для разделения обработки контента и формирвоания интерфейса по разным процессам, а механизм разделения по процессам Chrome основан на идее использования WebKit WebCore в качестве одного из многопроцессных модулей, взаимодействующих с другими модулями через отдельный диспетчер ресурсов. Последнее время наблюдается постоянное усложнение кода как WebKit, так и Chromе, что заметно тормозит разработку Chromе из-за необходимости постоянного портирования кода. Кроме того, отмечается, что с созданием форка у Google появятся новые возможности по оптимизации движка и увеличению его производительности.
В представленном в 2008 году браузере Chrome компания Google использовала подсистему WebKit WebCore для реднеринга HTML и CSS, но вместо JavaScript-движка WebKit JavaScriptCore использовала собственный движок V8. Фактически компания Google изначально развивает в Chrome форк WebKit, так как использует в своём браузере отдельную ветку WebKit, непосредственно внося в неё собственные изменения и портируя сторонние изменения из WebKit, после чего возвращая свои улучшения в upstream. В WebKit2 появилось много новых возможностей и особенностей, которые не намерена использовать Google, но которые приходится учитывать при портировании. В итоге затрачиваемые на портирование ресурсы стали неприемлемо велики. Создание Blink снимает с Google обязательства по возврату изменений в WebKit.
О намерении перейти к использованию движка Blink, уже заявила компания Opera, находящаяся в процессе миграции на WebKit с собственного движка Presto. Таким образом, сформированное вокруг WebKit сообщество раскололось на два лагеря, представляющих технологии и интересы проектов Google Chrome и Apple Safari. Следует напомнить, что, в свою очередь, проект WebKit был создан в 2001 году как форк движка KHTML, развиваемого сообществом KDE.
По мнению Google, создание нового браузерного движка негативно не отразится на экосистеме и лишь оздоровит её, так как конкуренция подстегнёт к развитию инноваций, как появление нескольких конкурирующих браузеров подстегнуло развитие Web. При этом разработчики Blink отмечают в качестве прироитетного направления сотрудничество с создателями других браузерных движков в плане обеспечения совместимости, следования стандартам Web и создания новых Web-технологий. В ближайшее время развитие Blink будет сфокусировано на улучшении внутренней архитектуры и упрощении кодовой базы. Например, планируется прекратить поддержку 7 сборочных систем и удалить около 7 тысяч файлов, включающих более 4.5 млн строк кода.
Дополнительно можно отметить решение избавиться от CSS-префиксов для экспериментальных возможностей. Вместо префикса »-webkit» решено не вводить префиксы »-blink» или »-chrome», а последовать примеру Mozilla и добавлять все экспериментальные возможности без префиксов, но включать их только при изменении специальных настроек в браузере.
© OpenNet