Инженеры Apple Андерс Карлссон и Сэм Вайннинг вчера объявили о предстоящем выпуске новой веб-платформы под названием «WebKit2». Она будет основана на существующем движке, который обеспечивает работу браузера Safari от Apple, а также ряда других браузерных приложений, включая Google Chrome. Важно отметить, что WebKit2 будет поддерживать запуск различных элементов браузера в отдельных процессах, «изолируя» их для предотвращения сбоев одного элемента, которые могут привести к отказу всего браузера.
WebKit2 разработан с нуля для поддержки модели разделения процессов, где веб-контент (JavaScript, HTML, верстка и т. д.) находится в отдельном процессе. Эта модель похожа на то, что предлагает Google Chrome, с тем важным отличием, что мы встроили модель разделения процессов непосредственно в платформу, позволяя другим клиентам использовать ее.
Команда разработчиков WebKit2 также опубликовала документацию, в которой изложены некоторые изменения в WebKit2 и то, как его модель разделения процессов отличается от модели, используемой в Chromium и Google Chrome. Функциональность встроена непосредственно в платформу, а не помещена в слой приложения, где потребовалась бы значительная работа для портирования или повторного использования этой функциональности.
CNET отмечает, что анонс Apple вызвал некоторое недовольство в сообществе WebKit, поскольку он рассматривается как крупное обновление движка без участия всего сообщества. Мачей Стаховяк из Apple ответил на критику, отметив, что существующие порты будут продолжать работать, а новые инструменты находятся на очень ранней стадии, подходящей для рассмотрения и обсуждения сообществом.
Мы выбрали название «WebKit2» в надежде выбрать что-то действительно пресное. По-видимому, это имело обратный эффект, поскольку кажется, что этот проект воспринимается как нечто большее, чем он есть на самом деле. По сути, вы можете рассматривать это как новый API (интерфейс прикладного программирования), специфичный для портов. Но мы пытаемся включить некоторые общие механизмы в этот API, чтобы другие порты могли использовать его по своему выбору. Мы также приветствуем вклад всего сообщества WebKit в дизайн, архитектуру и направление этой работы. Она находится на очень ранней стадии, едва ли достаточно, чтобы на ее основе можно было создать тривиальный демонстрационный браузер. Мы решили, что наш концепт продвинулся настолько далеко, что мы должны опубликовать код для ознакомления и получения отзывов от сообщества.
Первоначальные версии WebKit2 были разработаны для Mac и Windows, и разработчики приглашают других к отправке патчей для дополнительных портов.