Механизм браузера (также известный как механизм компоновки или механизм рендеринга ) является основным программным компонентом каждого основного веб-браузера . Основная задача движка браузера — преобразовать HTML- документы и другие ресурсы веб-страницы в интерактивное визуальное представление на устройстве пользователя .
Механизм браузера — это не отдельная компьютерная программа , а скорее важная часть более крупной программы, такой как веб-браузер , от которой и произошел этот термин. Слово « двигатель » является аналогией двигателю автомобиля.
Помимо «движка браузера», в повседневной жизни используются еще два термина, относящиеся к связанным понятиям: « механизм компоновки » и « механизм рендеринга ». [1] [2] [3] Теоретически макетирование и рендеринг (или «рисование») могут выполняться разными движками. На практике, однако, компоненты рендеринга и макета конкретного браузерного движка тесно связаны и редко встречаются сами по себе вне движка браузера, в отличие от случая со скриптовыми движками браузеров.
Помимо макета и рендеринга, механизм браузера обеспечивает соблюдение политики безопасности между документами, обрабатывает навигацию по гиперссылкам и данным, отправленным через формы , а также реализует объектную модель документа (DOM), доступную сценариям , связанным с документом.
Каждый крупный веб-браузер поддерживает JavaScript (JS), позволяющий реализовать широкий спектр интерактивного поведения, указанный издателем, однако поддержка JS рассматривается как отдельная проблема . Хотя JS изначально создавался как простой язык для использования на веб-страницах , это язык программирования общего назначения , и большинство команд разработчиков, работающих над движками браузера, отделяют разработку движка браузера от разработки движка JavaScript , который позволяет браузеру обеспечить поддержку языка. [4] Браузеры имеют сложные методы координации своих механизмов. [1]
Браузерные движки используются не только в веб-браузерах, но и в других типах программ. Например, почтовый клиент может полагаться на движок браузера для отображения электронной почты в формате HTML . Платформа Electron , основанная на Blink и V8 из проекта Google Chromium , позволяет разработчикам программного обеспечения использовать технологии, впервые созданные для веб-платформы , такие как HTML , CSS , JavaScript и DOM, для создания графических настольных приложений . Знакомство программистов с разработкой на основе браузера привело к тому, что Electron и другие кроссплатформенные среды приложений на основе браузерного движка часто используются вместо традиционных наборов инструментов графического пользовательского интерфейса .
Макет веб-страницы обычно определяется каскадными таблицами стилей (CSS). Каждая таблица стилей представляет собой серию правил, которые интерпретируются движком браузера, чтобы определить, как должен быть представлен документ. Например, опубликованная веб-страница может использовать CSS для указания правил оформления деталей типографики , таких как шрифт , цвет и размер текста. Движок объединяет все соответствующие правила CSS для расчета конкретных графических координат визуального представления, которое он будет рисовать на экране. [1]
Некоторые механизмы могут начать рендеринг до загрузки ресурсов страницы. Это может привести к визуальным изменениям по мере получения большего количества данных, например к постепенному заполнению изображений или появлению нестилизованного контента .
Показана только продолжительность активной разработки , когда в движок продолжают добавляться соответствующие новые веб-стандарты .
Из-за ограничений платформы iOS все браузеры должны быть построены на базе механизма рендеринга WebKit.