Що таке веб компонент

Веб компонент (web component) — це самостійний елемент інтерфейсу в браузері і є зв’язкою коду, що складається з HTML, CSS і JavaScript. Яскравим прикладом веб компонента може бути аудіо (або відео) плеєр. Він вставляється в сторінку за допомогою тега <audio> (або <video>) та відображається на ній як ізольований елемент інтерфейсу. Його код є недоступним для веб-розробника, ми ніяк не можемо впливати, наприклад, на його стилі і навпаки його стилі ніяк не впливають на його елементи. CSS каскадування в цьому випадку не працює, стилі ізольовані або, інакше, інкапсульовані. У цьому полягає перевага веб компонентів, їх можна багаторазово використовувати на сайті або в веб додатку і не переживати, що вони якось вплинуть на навколишній код.

Веб компоненти базуються на трьох поняттях: теги користувача (Custom elements), HTML шаблони (templates) і, так званий, Shadow DOM.

Custom elements

Користувальницькі теги або елементи – це HTML елементи, яких немає в стандарті, веб-розробники можуть створити власні теги елементів, на кшталт елементів <audio> або <video>, і використовувати їх на сторінці сайту або веб-додатків поряд з іншими визначеними елементами.

HTML templates

HTML-шаблони є фрагментами верстки, які не відображаються безпосередньо на сторінці, їх призначення це клонування в певне місце на сторінці сайту або програми посилання.

Shadow DOM

Shadow DOM це дуже важливий аспект веб-компонентів. Цей механізм дозволяє інкапсулювати код (наприклад, CSS) усередині компонента, що означає, що він не впливатиме на елементи, що оточують компонент, але може бути вільно використаний усередині.

Створення веб-компонентів

Використання веб компонентів здатні істотно полегшити роботу розробників і створення сайтів може тривати менше часу. Але, на жаль, веб компоненти стали підтримуватися в браузерах не так давно, і їх підтримка все ще є неповною, тому завдання створення власного компонента є дуже нетривіальним. Але, на щастя, розвиток веб-технологій не стоїть на місці і існують інструменти, здатні покращити ситуацію.

Популярний фреймворк для розробки сайтів, веб додатків, мобільних додатків і навіть додатків для ПК від компанії Google, який називається Angular, є відмінним інструментом для створення власних веб компонентів, він здатний заповнити всі порожнечі в підтримці браузерами. На сьогоднішній день навіть існує позиція Angular веб-розробник, настільки цей фреймворк потужний і популярний.

Про те, як створити власні веб компоненти та інші статті на тему Angular читайте в моєму блозі.