SlideShare a Scribd company logo
1 of 29
Веб-компоненты в веб-разработке
на примере Polymer
Артур Дробинский,
архитектор Rubius
1
Что такое WebComponents?
• Пример с <select>
2
<select>
<option>Standard</option>
<option>2-day</option>
<option>Overnight</option>
</select>
Что такое WebComponents?
3
<google-map id="map" fit-to-markers>
<google-map-marker latitude="56.5010397"
longitude="84.9924506"></google-map-marker>
<google-map-marker latitude="56.4810397"
longitude="85.0024506"></google-map-marker>
</google-map>
История
4
История
5
История
6
Что такое Polymer?
• Надстройка над веб-компонентами,
упрощающая работу
• Библиотека, а не фреймворк
• Полифиллы для работы в «несовременных»
браузерах
7
Как работает
8
<link rel="import" href="../polymer/polymer.html">
<dom-module id="hello-world">
<template>
<p>Hello World!</p>
</template>
</dom-module>
<script>
Polymer({
is: 'hello-world',
});
</script>
Как работает
9
<p>Hello <strong>{{who}}</strong> :)</p>
Как работает
10
<!doctype html>
<html>
<head>
<script src="../webcomponentsjs/webcomponents-
lite.min.js"></script>
<link rel="import" href="hello-world.html">
</head>
<body>
<hello-world who="Вася"></hello-world>
<hello-world who="Петя"></hello-world>
<hello-world who="Леша"></hello-world>
</body>
</html>
Как работает
11
Как работает
12
properties: {
who: {
type: String,
value: 'World'
}
}
Как работает
13
<input value="{{who::change}}" />
Как работает
14
DEMO
15
Где используется:
• https://gaming.youtube.com/
• https://builtwithpolymer.org
• Google
• Chrome
• EA Sports
• etc 16
Где используется:
17
Существующие компоненты
• ExpandJS
• Bosonic
• Paper-elements
• Google-elements
• Vaadin
• http://customelements.io
18
Лучше чем Backbone?
• Проще
• Работа с моделями as-is (не требуется
оборачивать модели в Model/Collection)
• Двустороннее связывание
19
Лучше чем React?
• Двустороннее связывание
• Полноценная библиотека (не view-only)
• Основан на стандартизованных веб-
компонентах
• Нормальные шаблоны (не JSX)
20
Лучше чем Angular?
• Простой в изучении
• Понятные шаблоны
• Не фреймворк 
• Не RC и не надо переписывать все между
обновлениями
21
Совместное использование с React и
Angular – возможно!
22
…и даже с jQuery
23
$(this.root)
Поддержка WebComponents
браузерах
24
Поддержка WebComponents в
браузерах
25
Поддержка с использованием
Polymer polifills
26
Минусы Polymer
• Отсутствие поддержки в старых браузерах
• Начальная загрузка
• Performance (не идеален, но много лучше
Angular)
• Молодой (отсутствие специалистов,
накопленного опыта)
27
Рекомендации к использованию
• Использовать с осторожностью 
• Внедрение малыми блоками
• Веб-компоненты это будущее веба
(ближайшее), но еще пока не настоящее
28
Спасибо!
Вопросы?
Артур Дробинский,
http://arturdr.ru
info@arturdr.ru
29

More Related Content

Similar to Веб-компоненты в веб-разработке на примере Polymer (​Артур Дробинский)

сравнение Drupal и 1с битрикс
сравнение Drupal и 1с битрикссравнение Drupal и 1с битрикс
сравнение Drupal и 1с битриксAndrii Podanenko
 
Опыт работы с фреймворком ASP.NET MVC
Опыт работы с фреймворком ASP.NET MVCОпыт работы с фреймворком ASP.NET MVC
Опыт работы с фреймворком ASP.NET MVCДаниил Силантьев
 
WebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double funWebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double funAlexandr Khotemskoy
 
Pavel Dovbush Toster
Pavel Dovbush Toster Pavel Dovbush Toster
Pavel Dovbush Toster Pavel Dovbush
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияYandex
 
D2D Pizza JS Илья Беда "Куда мы все катимся?"
D2D Pizza JS Илья Беда "Куда мы все катимся?"D2D Pizza JS Илья Беда "Куда мы все катимся?"
D2D Pizza JS Илья Беда "Куда мы все катимся?"Dev2Dev
 
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter..."Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...MoscowJS
 
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ruБаба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ruYandex
 
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...QAFest
 
WebCamp2016:Front-End_Андрей Копёнкин_Оптимизируем мобильный веб полностью
WebCamp2016:Front-End_Андрей Копёнкин_Оптимизируем мобильный веб полностьюWebCamp2016:Front-End_Андрей Копёнкин_Оптимизируем мобильный веб полностью
WebCamp2016:Front-End_Андрей Копёнкин_Оптимизируем мобильный веб полностьюWebCamp
 
инструкция по оптимизации сайтов на Drupal херени даниэл
инструкция по оптимизации сайтов на Drupal херени даниэлинструкция по оптимизации сайтов на Drupal херени даниэл
инструкция по оптимизации сайтов на Drupal херени даниэлdrupalconf
 
инструкция по оптимизации сайтов на Drupal херени даниэл
инструкция по оптимизации сайтов на Drupal херени даниэлинструкция по оптимизации сайтов на Drupal херени даниэл
инструкция по оптимизации сайтов на Drupal херени даниэлdrupalconf
 
Meet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis BosakMeet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis BosakAmasty
 
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Ontico
 
Микросервисный фронтенд
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтендViacheslav Slinko
 
инструкция по оптимизации сайтов на Drupal херени даниэл
инструкция по оптимизации сайтов на Drupal херени даниэлинструкция по оптимизации сайтов на Drupal херени даниэл
инструкция по оптимизации сайтов на Drupal херени даниэлPVasili
 
Решения сообщества для SharePoint
Решения сообщества для SharePointРешения сообщества для SharePoint
Решения сообщества для SharePointVitaly Baum
 
DrupalCafe #2: Константин Комелин - Быстрый старт для новичка в Drupal
DrupalCafe #2: Константин Комелин - Быстрый старт для новичка в DrupalDrupalCafe #2: Константин Комелин - Быстрый старт для новичка в Drupal
DrupalCafe #2: Константин Комелин - Быстрый старт для новичка в DrupalDrupalSPB
 

Similar to Веб-компоненты в веб-разработке на примере Polymer (​Артур Дробинский) (20)

сравнение Drupal и 1с битрикс
сравнение Drupal и 1с битрикссравнение Drupal и 1с битрикс
сравнение Drupal и 1с битрикс
 
Опыт работы с фреймворком ASP.NET MVC
Опыт работы с фреймворком ASP.NET MVCОпыт работы с фреймворком ASP.NET MVC
Опыт работы с фреймворком ASP.NET MVC
 
WebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double funWebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double fun
 
Bootstrap 3
Bootstrap 3Bootstrap 3
Bootstrap 3
 
Pavel Dovbush Toster
Pavel Dovbush Toster Pavel Dovbush Toster
Pavel Dovbush Toster
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
 
D2D Pizza JS Илья Беда "Куда мы все катимся?"
D2D Pizza JS Илья Беда "Куда мы все катимся?"D2D Pizza JS Илья Беда "Куда мы все катимся?"
D2D Pizza JS Илья Беда "Куда мы все катимся?"
 
Mobile web apps
Mobile web appsMobile web apps
Mobile web apps
 
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter..."Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
 
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ruБаба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
 
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
 
WebCamp2016:Front-End_Андрей Копёнкин_Оптимизируем мобильный веб полностью
WebCamp2016:Front-End_Андрей Копёнкин_Оптимизируем мобильный веб полностьюWebCamp2016:Front-End_Андрей Копёнкин_Оптимизируем мобильный веб полностью
WebCamp2016:Front-End_Андрей Копёнкин_Оптимизируем мобильный веб полностью
 
инструкция по оптимизации сайтов на Drupal херени даниэл
инструкция по оптимизации сайтов на Drupal херени даниэлинструкция по оптимизации сайтов на Drupal херени даниэл
инструкция по оптимизации сайтов на Drupal херени даниэл
 
инструкция по оптимизации сайтов на Drupal херени даниэл
инструкция по оптимизации сайтов на Drupal херени даниэлинструкция по оптимизации сайтов на Drupal херени даниэл
инструкция по оптимизации сайтов на Drupal херени даниэл
 
Meet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis BosakMeet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis Bosak
 
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
 
Микросервисный фронтенд
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтенд
 
инструкция по оптимизации сайтов на Drupal херени даниэл
инструкция по оптимизации сайтов на Drupal херени даниэлинструкция по оптимизации сайтов на Drupal херени даниэл
инструкция по оптимизации сайтов на Drupal херени даниэл
 
Решения сообщества для SharePoint
Решения сообщества для SharePointРешения сообщества для SharePoint
Решения сообщества для SharePoint
 
DrupalCafe #2: Константин Комелин - Быстрый старт для новичка в Drupal
DrupalCafe #2: Константин Комелин - Быстрый старт для новичка в DrupalDrupalCafe #2: Константин Комелин - Быстрый старт для новичка в Drupal
DrupalCafe #2: Константин Комелин - Быстрый старт для новичка в Drupal
 

Веб-компоненты в веб-разработке на примере Polymer (​Артур Дробинский)

Editor's Notes

  1. https://output.jsbin.com/tugedoxapo