Приемная комиссия: 8 (4912) 97-15-10
priem@365.rsu.edu.ru, international@365.rsu.edu.ru

enru

Apple объявила о создании WebKit2

Совсем недавно компания Apple объявила в списке рассылке о создании WebKit2. Это не новый «движок», как ошибочно предполагают некоторые, а новый API, разработанный компанией Apple с чистого листа и уже используемый при разработке новых версий продуктов. Главной особенностью новой версии является то, что модель разделения процессов уже встроена, поэтому разработчикам не придётся реализовывать это своими силами, как сделали в Google Chrome.

Если говорить о стеке средств WebKit2, то его можно разделить на две части: процесс пользовательского интерфейса ивеб-процесс. Теперь часть WebKit работает в процессе пользовательского интерфейса, а остальная часть вместе с WebCore и обработкой JS находится в веб-процессе. Таким образом, веб-процесс изолирован от пользовательского интерфейса. Это позволит получить улучшенную отзывчивость, стабильность, безопасность (путём создания изолированной «песочницы» для выполнения веб-процесса) и улучшенную поддержку многопроцессорных систем. И обо всём этом разработчику не требуется ломать голову — всё уже встроено в сам WebKit.

Другой особенностью нового API является отсутствие блокировок. Для достижения этого результата и сохранения всех возможностей WebKit, были использованы следующие технические решения:

  • обратные вызовы (callback) в виде уведомления клиенту — обычное уведомление, которое происходит при определённом событии и не даёт возможности что-то сделать с источником уведомления;
  • обратные вызовы в виде политик — позволяют выбрать дальнейшее действие, уведомляя страницу через объект прослушивания;
  • параметры политик — позволяют задать заранее определённые политики без использования обратных вызовов в пользовательском процессе;
  • встраиваемый код — некоторый код может быть загружен в веб-процесс в тех случаях, когда других возможностей для этого не хватает, например это удобно при доступе к DOM (находится на стадии реализации).

При этом Apple заявила, что доступный на данные момент WebCore API меняться не будет для сохранения обратной совместимости. На данный момент WebKit2 работает в MacOS X и Windows, но разработчики с радостью примут патчи для поддержки других операционных систем и платформ. Думаю, стоит сказать Apple спасибо в очередной раз за разработку передовых решений в области свободного ПО.

Источник: http://www.linux.org.ru/news/apple/4762929