WebKit

Материал из Энциклопедия интернет-маркетинга MarketWiki

WebKit - это браузерный движок с открытым исходным кодом, разработанный компанией Apple, который используется для рендеринга веб-страниц в Safari, а также во всех браузерах на iOS (по требованию Apple), и является основой для многих других браузеров (Chrome до 2013 года, Opera до 2013 года).

Движок используется в веб-разработке для тестирования совместимости с Safari и iOS-браузерами, а также в кроссплатформенных приложениях (React Native использует JavaScriptCore). Например, когда пользователь открывает сайт в Safari на iPhone, WebKit отвечает за парсинг HTML, применение CSS-стилей, выполнение JavaScript и отрисовку страницы на экране.

WebKit был создан в 2001 году как форк KHTML (движок браузера KDE). В 2005 году Apple открыла исходный код, а в 2013 году Google ответвила Blink, который используется в Chrome. К 2026 году WebKit остаётся основным движком для устройств Apple.

Кратко

[править]

WebKit - это движок для отображения веб-страниц, используемый в Safari и всех браузерах на iOS. Он отвечает за парсинг HTML, применение CSS, выполнение JavaScript и отрисовку страницы на экране.

Как работает WebKit

[править]

WebKit состоит из нескольких модулей:

  • WebCore. Отвечает за парсинг HTML и CSS, построение DOM-дерева и CSSOM, расчёт стилей, компоновку (layout), отрисовку (painting). Наследие от KHTML.
  • JavaScriptCore (JSC). Движок для выполнения JavaScript (JIT-компиляция, управление памятью). Используется в Safari, а также в React Native и других платформах.
  • WebKit2. Многопроцессная архитектура (отдельные процессы для рендеринга, сети, GPU), повышающая стабильность и безопасность.

WebKit поддерживает современные веб-стандарты: HTML5, CSS3, Flexbox, Grid, WebGL, WebAssembly, Service Workers (ограниченно). Из-за политики Apple некоторые API (Push Notifications, полноценный PWA) доступны только в Safari на macOS.

Примеры использования

[править]
  • Safari на macOS и iOS.
  • Все браузеры в App Store (Chrome, Firefox, Edge) на iOS - они используют WebKit, а не свои движки.
  • React Native (JavaScriptCore).
  • Браузеры на KDE (Konqueror) исторически.
  • Электронные книги на платформе WebKit.

Где используется

[править]
Сфера Применение
Веб-браузеры Safari, все браузеры на iOS
iOS-разработка Все браузеры в экосистеме Apple
Встраиваемые системы CarPlay, телевизоры Apple TV
Кроссплатформенные приложения React Native, Electron (частично)

Преимущества

[править]
  • Высокая производительность: оптимизирован под Apple Silicon, iOS, macOS.
  • Энергоэффективность: меньше потребляет батарею на устройствах Apple.
  • Соответствие стандартам: хорошая поддержка современных веб-стандартов.
  • Безопасность: песочница (sandbox), многопроцессная архитектура.
  • Open Source: исходный код доступен, используется в других проектах.

Недостатки

[править]
  • Привязка к iOS: Apple требует, чтобы все браузеры на iOS использовали WebKit, что ограничивает конкуренцию движков.
  • Отставание в некоторых API: некоторые современные API появляются в Blink раньше, чем в WebKit.
  • PWA-ограничения: на iOS push-уведомления и полноценная установка PWA появились позже, чем на Android.

Сравнение движков

[править]
Движок Браузеры Платформы Open Source
WebKit Safari, iOS-браузеры macOS, iOS Да
Blink Chrome, Edge, Opera, Vivaldi Windows, macOS, Linux, Android Да (форк WebKit)
Gecko Firefox Windows, macOS, Linux, Android Да

Часто задаваемые вопросы

[править]

Почему все браузеры на iOS используют WebKit?

[править]

Правила Apple App Store требуют, чтобы браузеры использовали WebKit. Это сделано для безопасности и единообразия, но критикуется как ограничение конкуренции движков на мобильной платформе.

Исторически Apple обязывала все браузеры в App Store использовать движок WebKit для обеспечения безопасности, энергоэффективности и стабильности iOS. Однако к 2026 году под давлением регуляторов (прежде всего в Евросоюзе согласно закону DMA) Apple была вынуждена разрешить использование альтернативных движков, таких как Blink (Chrome) и Gecko (Firefox). Вне стран ЕС монополия WebKit на устройствах Apple в основном сохраняется, что по-прежнему вызывает критику со стороны разработчиков и антимонопольных органов, считающих это ограничением конкуренции на мобильном рынке.

Чем WebKit отличается от Blink?

[править]

Blink - это форк WebKit, созданный Google в 2013 году для Chrome. С тех пор движки развиваются независимо: Blink быстрее внедряет новые API, WebKit лучше оптимизирован для устройств Apple и имеет более высокую энергоэффективность на iOS и macOS.

Как проверить, поддерживает ли браузер WebKit?

[править]

Safari на macOS и iOS - WebKit. Браузеры на iOS (Chrome, Firefox, Edge) - тоже WebKit (хотя выглядят как другие). На Windows, Android WebKit не используется (кроме устаревшей версии Safari для Windows).

Что такое JavaScriptCore?

[править]

JavaScriptCore (JSC) - это движок JavaScript, входящий в состав WebKit. Он используется в Safari, а также во многих кроссплатформенных приложениях (React Native, NativeScript) и даже в некоторых серверных средах (Node.js может использовать JSC вместо V8).

Связанные термины

[править]