Апр
8
2013

Google меняет браузерный движок WebKit на свой — Blink

Компания решила отказаться от WebKit, разработчики Apple уже ответили на это. Opera также будет на Blink.

2013 год точно запомнится многим, среди тех, кто следит за интернет-индустрией вообще и разработкой браузеров в частности. Еще в конце прошлого года мало кто мог предположить, что впереди всех ждет не одна новость, касающаяся браузерных движков (разве только утёкшее видео о переходе Opera на WebKit дало много слухов и предположений до выхода официальных сообщений). Эксперты говорили, что не скоро появится тот, кто будет писать новый движок, так как это требует огромного количества затрат и ресурсов. И тут понеслось. В начале норвежская компания подтвердила, что бросает развивать свой Presto и переходит на WebKit, как на настольной, так и мобильных версиях. А в начале текущего апреля, празднуя свое 15-летие, Mozilla сообщает о том, что разрабатывает совместно с Samsung новый браузерный движок Servo, написанный на языке Rust. А через день Google ошарашивает всех вестью о том, что будет писать свой — Blink, основанный на WebKit.

Начнем с небольшого погружения в историю. В начале 2000-х годов стало известно, что в Apple разрабатывают собственный движок для браузера. Он появился в 2001 году и был назван WebKit. В его основе лежал другой открытый браузерный двигатель — KHTML, который был переделан. Часть, отвечающая за рендеринг страниц (HTML и CSS) получил название WebCore, а JavaScript-движок — JavaScriptCore. Чуть позже был представлен браузер Safari, работающий на WebKit.

Однако подлинная популярность к нему пришла после сентября 2008 года, когда Google представили свой собственный браузер Google Chrome. Стоит заметить, что в Chrome от WebKit только рендер страниц. JavaScript-двигатель компания-поисковик предпочла создать свой — V8. Далее от некоторых крупных интернет-ресурсов начали выходить брендированные сборки на Chromium. Плюс добавилось большое число разработчиков мобильных браузеров, которые предпочли WebKit для своих продуктов. Ну, а в марте 2013, как уже сказано выше, Opera Software объявила о том, что все свои продукты переводит на WebKit. И вот в начале апреля раздается гром среди ясного неба. Попробуем посмотреть на ситуацию с двух противоположных позиций.

Blink дает новые возможности для Google

По словам разработчиков Google, настал тот момент, когда необходимость написания кода для совместимости Chrome с WebKit перевешивает все его преимущества. Поэтому они и задались вопросом о том, зачем им поддерживать функциональность и архитектуру, которой нет в собственном браузере. В Chrome есть своя многопроцессорная структура, своя функция «песочницы». Содержание в движке ненужного кода оказывает негативное влияние на работу и безопасность браузера.

Чтобы не выглядеть голословными, разработчики приводят такой пример, что они уже очистили его от 4,5 млн. строк кода и 7000 файлов, которые были там от функциональности архитектуры Safari. И Google можно поверить, когда они говорят о том, что это позволит улучшить продукт. У них уже есть опыт по созданию, например, очень производительного JavaScript-движка V8.

По словам аналитиков, данное решение было необходимо компании, чтобы вывести на новый уровень свои основные программные продукты: Chrome, Android и Chrome OS. Новый быстрый движок, возможность самостоятельного и быстрого внедрения новой функциональности, без долгого обсуждения и согласований, только поспособствует этому.

Для нового браузерного движка Blink была создана специальная страница. Далее выжимка некоторой информации с нее:

  • Blink является проектом с открытым исходным кодом;
  • Для сообщения об ошибках будет использоваться старый баг-трекер Chromium;
  • Внедрение поддержки новых спецификаций из стандартов HTML,CSS и JavaScript будет осуществляться в соответствии с планом, расположенным на странице Feature Dashboard;
  • В новом движке не будет существовать новых префиксов для поддержки свойств спецификаций. Это уже создало большое количество проблем (например, в той или иной степени заставило Opera отказаться от собственного движка). Теперь, если спецификация носит еще статус черновика и поддерживается в экспериментальном режиме, то ее необходимо будет включить в специальных настройках браузера;
  • Состоится перенос Document Object Model в JavaScript;
  • Будет проведена работа по более лучшему использованию многоядерных процессоров.

Apple очистит код WebKit от Chromium

Практически сразу после новости от Google, в обсуждениях среди разработчиков Apple появилось предложение от Джеффри Гарена, одного из сотрудников, о том, что необходимо выполнить очистку WebKit от кода, который там находился для совместимости с Chromium. Так среди обсуждаемых пунктов на удаление находятся поддержка V8, библиотека рендеринга графики Skia. Apple будет обсуждать с другими участниками, работающими над WebKit, перспективы очистки.

Что касается времени появления нового движка в финальной версии Chrome, то разработчики обещают, что это произойдет в 28 версии. Ее появление запланировано на конец июня. Для желающих уже сейчас доступны «ночные сборки» Chromium\Chrome 28 с Blink на борту:

Ночные сборки Хрома с новым движком Blink

Opera перейдет на Blink

Вскоре после анонса нового движка, представители компании Opera распространили информацию о том, что их браузеры будут на новом движке. Это, в общем-то, довольно логично, ведь компания собиралась использовать Chromium как основу для своего интернет-обозревателя. Поэтому, теперь она следует за новым двигателем. Здесь может возникнуть только одна проблема, несущая некоторые дополнительные расходы ресурсов. Все мы помним, что норвежская компания будет сосредотачиваться на версиях своего обозревателя для настольных систем, Android и iOS. Теперь, с Blink, из этого ряда выпадает платформа iOS, ведь она по-прежнему использует WebKit. Можно предположить, что «игра на два фронта» потребует дополнительных расходов. Это же касается и других компаний, создающих мобильные интернет-обозреватели для Android и iOS.

Ложка дегтя: Google теперь браузерный монополист?

Если посмотреть на статистику использования браузеров, например, за март 2013 года, то можно увидеть, что у Chrome более 38% от всей возможной доли (по данным Statcounter). Если учесть тенденцию роста, то можно предположить, что к середине года доля перевалит за 40%. Проценты использования мобильной версии еще не так велики, первое место занимает мобильный обозреватель, установленный на Android-устройствах до версии 4. Но, стоит обратить внимание на график, предоставляемый Statcounter:

Мобильные браузеры в марте 2013

За последние месяцы происходит рост кривой, отвечающей за мобильные обозреватели, идущие под лейблом «Другие». В то же время, стоковый обозреватель на Android, впервые за несколько месяцев, начал снижение своей доли использования. Надо дождаться результатов следующего месяца, но возможно именно сейчас происходит начало восхождения Chrome для Android и iOS на графиках статистики и начало заката стокового браузера. Мобильная версия к процентам настольной даст еще 5-10 пунктов в ближайшие месяцы. Прибавим сюда также долю мобильной Opera. Что касается WebKit, то с ним имеется настольная версия Safari — около 7% и мобильная — около 27%.

Google становится единственным хозяином движка, и потенциально единолично будет вносить в него необходимые изменения. Да, заявляется о том, что и другие смогут принять участие в развитии, но как это будет на практике — пока сложно сказать. Все это наводит на то, что в руках компании оказывается мощный инструмент по влиянию на интернет вообще, и отдельные компании в частности. Например, можно оптимизировать код только под Chrome, и другие будут проигрывать изначально. Или продвигать собственные разработки вроде Native Client или языка Dart. Использовать Blink отдельно в каком-то своем проекте не получится, так как он сильно привязан к кодовой базе Chromium.

Хорошим или плохим было решение Google о переходе на свой собственный браузерный двигатель, наверное, каждому нужно решать для себя. Будет ли придерживаться компания декларируемых посылов к положительным изменениям для всех, начиная от веб-разработчиков, заканчивая обычными пользователями? К чему приведет данное решение в долгосрочной перспективе? У нас имеется возможность быть очевидцами происходящего. Браузерные войны продолжаются.

3 комментария Комментировать

  • «Более лучше» уже прочно вошел в лексикон? 😉

    Все мы помним, что норвежская компания будет сосредотачиваться на версиях своего обозревателя для настольных систем, Android и iOS. Теперь, с Blink, из этого ряда выпадает платформа iOS, ведь она по-прежнему использует WebKit. Можно предположить, что «игра на два фронта» потребует дополнительных расходов.

    Нет, не потребует. Дело в том, что с самого начала на iOS нельзя было использоваться собственный веб-движок. Можно только подхватывать системный, как это, например, делают некоторые маргинальные браузеры на Trident (если такие еще остались). А тот системный движок в iOS всё равно отличался от того, что используется в Хроимуме (как минимум JS-движком). Так что в этом плане для Оперы, в общем-то, ничего не изменилось.

    • «Более лучше» уже прочно вошел в лексикон?

      А ведь модуль проверки орфографии предупреждал!!! 😉

  • сосредотачиваться

    Сосредоточиваться.

Оставить комментарий

Цитировать