Веб-компоненты

редактировать

Веб-компоненты представляют собой набор функций, которые обеспечивают стандартную модель компонентов для Интернета, позволяющую инкапсуляцию и совместимость отдельных HTML-элементов.

. Основные технологии, используемые для их создания, включают:

  • Пользовательские элементы: API-интерфейсы для определения новых элементов HTML
  • Теневой DOM: инкапсулированный DOM и стили, с композицией
  • Шаблоны HTML: фрагменты HTML, которые не отображаются, но сохраняются до создания экземпляра с помощью JavaScript
Содержание
  • 1 Характеристики
    • 1.1 Заказчик tom Elements
    • 1.2 Shadow DOM
    • 1.3 HTML-шаблон
  • 2 Поддержка браузера
  • 3 Библиотеки
  • 4 Сообщество
  • 5 История
  • 6 Ссылки
  • 7 Внешние ссылки
Возможности

Пользовательские элементы

Пользовательские элементы состоят из двух частей: автономных пользовательских элементов и настраиваемых встроенных элементов. Автономные настраиваемые элементы - это элементы HTML, которые полностью отделены от собственных элементов HTML ; По сути, они построены снизу вверх с использованием Custom Elements API. Настраиваемые встроенные элементы - это элементы, которые созданы на основе собственных элементов HTML для повторного использования их функциональных возможностей.

Shadow DOM

Shadow DOM - это функциональность, которая позволяет веб-браузеру выполнять отображать элементы DOM, не помещая их в DOM-дерево основного документа. Это создает барьер между тем, что может достичь разработчик и браузер; разработчик не может получить доступ к Shadow DOM так же, как с вложенными элементами, в то время как браузер может отображать и изменять этот код так же, как и с вложенными элементами. Влияние CSS, ограниченного областью теневой модели DOM конкретного элемента, заключается в том, что элементы HTML могут быть инкапсулированы без риска утечки стилей CSS и воздействия на элементы, на которые они не должны были влиять. Хотя эти элементы инкапсулированы по отношению к HTML и CSS, они по-прежнему могут запускать события, которые могут быть захвачены другими элементами в документе.

Поддерево с заданной областью действия в элементе называется теневым деревом. Элемент, к которому прикреплено теневое дерево, называется теневым хостом.

Теневой DOM всегда должен быть подключен к существующему элементу, либо путем присоединения его как буквального элемента, либо с помощью скриптинга. В JavaScript вы прикрепляете Shadow DOM к элементу с помощью Element.attachShadow ().

Возможность охвата HTML и CSS необходима для создание пользовательских элементов. Если бы теневой DOM не существовало, различные внешние настраиваемые элементы могли взаимодействовать нежелательным образом.

HTML-шаблон

HTML-шаблон - это способ вставки фрагментов HTML, которые штампуются по желанию. Синтаксис HTML-шаблонов выглядит следующим образом:

Сценарии не будут выполняться, а ресурсы, находящиеся внутри шаблона, не будут извлечены, пока шаблон не будет удален.

Поддержка браузером

Интернет Компоненты поддерживаются всеми основными браузерами.

Обратная совместимость со старыми браузерами реализована с использованием JavaScript -based polyfills.

Libraries

Есть несколько библиотек, которые построены на веб-компонентах с целью повышения уровня абстракции при создании нестандартных элементов. Некоторые из этих библиотек: X-Tag, Slim.js, Polymer, Bosonic, Riot.js и Smart HTML Elements.

Два из них, Bosonic и Polymer, предоставляют готовые компоненты, которые можно использовать бесплатно. Эти компоненты могут использоваться взаимозаменяемо, поскольку все они построены на открытых веб-технологиях.

Сообщество

Сообщество прилагает множество усилий для создания экосистемы веб-компонентов. WebComponents.org предоставляет интерфейс для поиска любых существующих веб-компонентов, Custom Elements Everywhere проверяет совместимость и готовность популярных интерфейсных фреймворков к стандартным веб-компонентам с набором ожидающих ошибок и доступных обходных путей. Более того, в Vaadin Tutorials есть специальный раздел, в котором показано, как эти обходные пути эффективно используются с примерами демонстрационных приложений и аналогичными темами.

История

Веб-компоненты были впервые представлены Алексом Расселом на Fronteers Conference 2011.

Polymer, библиотека, основанная на веб-компонентах, была выпущена Google в 2013 году.

Firefox 63 добавляет поддержку инструментов разработчика для веб-компонентов.

Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-20 10:28:08
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте