SlideShare a Scribd company logo
<web-components> Web back to future </web-components> 
by Anna Khabibullina
.Agenda 
_ Web Components and their parts 
_ X-Browser Support 
_ Demo 
_ Best Practices
.About Me 
_ Co-founder of DA-14 Web Dev Team 
http://da-14.com 
_ Web Engineer 
http://sitecues.com 
_ Open Source Contributor 
http://github.com/akhabibullina 
_ Social Person 
http://twitter.com/_khabibullina
.What I work on 
_ SaaS application(assistive 
tool) 
_ (No) libraries 
_ No frameworks 
_ UX design matters 
_ Accessibility in mind 
.Welcome every problem as opportunity 
_ Better understanding 
_ R&D challenges 
_ Taking advantage of new technologies 
_ Experimental features 
_ X-browser support for modern browsers
.Web Components Made Of Rainbows 
Set of cutting edge [draft] standards 
proposed by Google that make it 
possible to build secure reusable 
widgets using web platform 
technologies.
.Web Components 
Comprised of four parts: 
_ Templates 
_ Custom Elements 
_ HTML Imports 
_ Shadow DOM
Templates: Standardizing client-side templating 
_ Why? : Maximize code reusability and maintainability. 
_ How? : Declare inert chunks of cloneable DOM with <template>. 
_ http://www.html5rocks.com/en/tutorials/webcomponents/template
Templates 
_ Inert markup 
<table> 
<tr> 
<template id="cells-to-repeat"> 
<td>Some content!</td> 
</template> 
</tr> 
</table> 
_ Activate template 
var t = document.querySelector('template').content; 
var clone = document.importNode(t, true); 
document.body.appendChild(clone);
.Web Components 
Templates 
Custom Elements 
HTML Imports 
Shadow DOM
Custom Elements: Sexy markup 
_ Why? : There is nothing modern in <div> soup. 
_ How? : Define new types of HTML elements and their APIs. 
_ http://www.html5rocks.com/en/tutorials/webcomponents/customelements
Custom Elements 
_ JavaScript 
var CustomElementProto = Object.create(HTMLElement.prototype); 
var XFoo = document.registerElement('x-custom-da-14', { 
prototype: CustomElementProto 
}); 
var xfoo = new XFoo(); 
document.body.appendChild(xfoo); 
_ HTML 
<x-custom-da-14></x-custom-da-14>
.Web Components 
Templates 
Custom Elements 
HTML Imports 
Shadow DOM
HTML Imports: Simple way to load HTML elements 
_ Why? : The web's most basic content, HTML, requires the 
greatest amount of effort to work with. 
_ How? : Import HTML components via <link rel="import">. 
_ http://www.html5rocks.com/en/tutorials/webcomponents/imports
HTML Imports 
index.html 
<head> 
<link rel="import" href="/path/to/import.html"> 
</head> 
<body> 
… 
</body> 
<script> … </script> import.html 
… 
<div id="blog-post">...</div> 
var c = document.querySelector('link[rel="import"]').import; access content
HTML Imports 
Yo dawg. I hear you like imports, so I included an import in your import.
.Web Components 
Templates 
Custom Elements 
HTML Imports 
Shadow DOM
Shadow DOM: Separating content from presentation 
_ Why? : DOM tree encapsulation problem. 
_ How? : Think about DOM hosting DOM, which hosts more DOM. 
_ 
http://www.html5rocks.com/en/tutorials/webcomponent 
s/shadowdom
Shadow DOM 
_ Video player 
<video controls="" autoplay="" name="media"> 
<source src="http://localhost:1000/media" type="audio/mpeg"> 
</video>
Shadow DOM 
_ http://html5-demos.appspot.com/shadowdom-visualizer
.Web Components 
Templates 
Standardizing client-side templating 
Custom Elements 
Sexy markup 
HTML Imports 
Simple way to load HTML elements 
Shadow DOM 
Separating content from presentation
.Web Components
.Best Practices 
_ Namespacing(bower.io, customelements.io) 
_ Mimic built-in elements as closely as possible 
_ Don't put too much in Shadow DOM 
_ Don't create more custom elements than you need 
….. 
_ Accessibility 
_ Performance 
_ Testing 
_ http://webcomponents.org/articles/web-components-best- 
practices/
.X-Browser Support 
_ X-TAG 
http://x-tags.org/ 
_ POLYMER 
http://www.polymer-project. 
_ http://jonrimmer.github.io/are-we-componentized-yet/ 
org/ 
_ BOSONIC 
http://bosonic.github.io/
.Demo 
_ CUSTOMELEMENTS.IO 
A gallery to display Web Components 
created by the community. 
http://customelements.io/ 
_ COMPONENT KITCHEN 
Component catalog for a mainstream 
HTML audience. 
http://component.kitchen/ 
http://html5-demos.appspot.com/static/webcomponents/index.html#1
.Web Components Supporting Cast: Awesome Future Web 
_ document.querySelectorAll() 
_ Object.observe() 
_ MutationObserver 
_ CSS variables, calc() 
http://wiki.ecmascript.org/doku.php?id=harmony:observe
..YYoouurr t tuurnr…nD…is Dcoisvecro!ver!
.Useful links 
_ http://www.w3.org/wiki/WebComponents/ 
_ http://webcomponents.org/ 
_ http://habrahabr.ru/post/210058/ 
_ http://css-tricks.com/modular-future-web-components/ 
_ http://webcomponents.org/presentations/accessibility-of-web-components- 
at-jsconf-us/ 
_ https://www.youtube.com/watch?v=2txPYQOWBtg 
_ http://www.youtube.com/watch?v=eJZx9c6YL8k 
_ http://jonrimmer.github.io/are-we-componentized-yet/ 
_ http://w3c.github.io/webcomponents/spec/custom/#es6

More Related Content

What's hot

Polymer - Welcome to the Future @ PyGrunn 08/07/2014
Polymer - Welcome to the Future @ PyGrunn 08/07/2014Polymer - Welcome to the Future @ PyGrunn 08/07/2014
Polymer - Welcome to the Future @ PyGrunn 08/07/2014
Spyros Ioakeimidis
 
The rise of Polymer and Web Components (Kostas Karolemeas) - GreeceJS #17
The rise of Polymer and Web Components (Kostas Karolemeas) - GreeceJS #17The rise of Polymer and Web Components (Kostas Karolemeas) - GreeceJS #17
The rise of Polymer and Web Components (Kostas Karolemeas) - GreeceJS #17
GreeceJS
 
Web Components
Web ComponentsWeb Components
Web Components
FITC
 
Polymer vs other libraries (Devfest Ukraine 2015)
Polymer vs other libraries (Devfest Ukraine 2015)Polymer vs other libraries (Devfest Ukraine 2015)
Polymer vs other libraries (Devfest Ukraine 2015)
jskvara
 
Web Components with Polymer (extra Polymer 2.0)
Web Components with Polymer (extra Polymer 2.0)Web Components with Polymer (extra Polymer 2.0)
Web Components with Polymer (extra Polymer 2.0)
Dhyego Fernando
 
Polymer & the web components revolution 6:25:14
Polymer & the web components revolution 6:25:14Polymer & the web components revolution 6:25:14
Polymer & the web components revolution 6:25:14
mattsmcnulty
 
Booting up with polymer
Booting up with polymerBooting up with polymer
Booting up with polymer
Marcus Hellberg
 
Introduction to Web Components
Introduction to Web ComponentsIntroduction to Web Components
Introduction to Web Components
Fu Cheng
 
Google Polymer Introduction
Google Polymer IntroductionGoogle Polymer Introduction
Google Polymer Introduction
David Price
 
Александр Кашеверов - Polymer
Александр Кашеверов - PolymerАлександр Кашеверов - Polymer
Александр Кашеверов - Polymer
DataArt
 
Google Polymer Framework
Google Polymer FrameworkGoogle Polymer Framework
Google Polymer Framework
Kostas Karolemeas
 
Web Components and Modular CSS
Web Components and Modular CSSWeb Components and Modular CSS
Web Components and Modular CSS
Andrew Rota
 
Introduction to Web Components
Introduction to Web ComponentsIntroduction to Web Components
Introduction to Web Components
Rich Bradshaw
 
HTML5와 오픈소스 기반의 Web Components 기술
HTML5와 오픈소스 기반의 Web Components 기술HTML5와 오픈소스 기반의 Web Components 기술
HTML5와 오픈소스 기반의 Web Components 기술
Jeongkyu Shin
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
connectwebex
 
Levent-Gurses' Introduction to Web Components & Polymer
Levent-Gurses' Introduction to Web Components & PolymerLevent-Gurses' Introduction to Web Components & Polymer
Levent-Gurses' Introduction to Web Components & Polymer
Erik Isaksen
 
Polymer - Lego for the web!
Polymer - Lego for the web!Polymer - Lego for the web!
Polymer - Lego for the web!
Codemotion
 
Polymer
PolymerPolymer
Polymer
LearningTech
 
Razor into the Razor'verse
Razor into the Razor'verseRazor into the Razor'verse
Razor into the Razor'verse
Ed Charbeneau
 
Build Reusable Web Components using HTML5 Web cComponents
Build Reusable Web Components using HTML5 Web cComponentsBuild Reusable Web Components using HTML5 Web cComponents
Build Reusable Web Components using HTML5 Web cComponents
Gil Fink
 

What's hot (20)

Polymer - Welcome to the Future @ PyGrunn 08/07/2014
Polymer - Welcome to the Future @ PyGrunn 08/07/2014Polymer - Welcome to the Future @ PyGrunn 08/07/2014
Polymer - Welcome to the Future @ PyGrunn 08/07/2014
 
The rise of Polymer and Web Components (Kostas Karolemeas) - GreeceJS #17
The rise of Polymer and Web Components (Kostas Karolemeas) - GreeceJS #17The rise of Polymer and Web Components (Kostas Karolemeas) - GreeceJS #17
The rise of Polymer and Web Components (Kostas Karolemeas) - GreeceJS #17
 
Web Components
Web ComponentsWeb Components
Web Components
 
Polymer vs other libraries (Devfest Ukraine 2015)
Polymer vs other libraries (Devfest Ukraine 2015)Polymer vs other libraries (Devfest Ukraine 2015)
Polymer vs other libraries (Devfest Ukraine 2015)
 
Web Components with Polymer (extra Polymer 2.0)
Web Components with Polymer (extra Polymer 2.0)Web Components with Polymer (extra Polymer 2.0)
Web Components with Polymer (extra Polymer 2.0)
 
Polymer & the web components revolution 6:25:14
Polymer & the web components revolution 6:25:14Polymer & the web components revolution 6:25:14
Polymer & the web components revolution 6:25:14
 
Booting up with polymer
Booting up with polymerBooting up with polymer
Booting up with polymer
 
Introduction to Web Components
Introduction to Web ComponentsIntroduction to Web Components
Introduction to Web Components
 
Google Polymer Introduction
Google Polymer IntroductionGoogle Polymer Introduction
Google Polymer Introduction
 
Александр Кашеверов - Polymer
Александр Кашеверов - PolymerАлександр Кашеверов - Polymer
Александр Кашеверов - Polymer
 
Google Polymer Framework
Google Polymer FrameworkGoogle Polymer Framework
Google Polymer Framework
 
Web Components and Modular CSS
Web Components and Modular CSSWeb Components and Modular CSS
Web Components and Modular CSS
 
Introduction to Web Components
Introduction to Web ComponentsIntroduction to Web Components
Introduction to Web Components
 
HTML5와 오픈소스 기반의 Web Components 기술
HTML5와 오픈소스 기반의 Web Components 기술HTML5와 오픈소스 기반의 Web Components 기술
HTML5와 오픈소스 기반의 Web Components 기술
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
 
Levent-Gurses' Introduction to Web Components & Polymer
Levent-Gurses' Introduction to Web Components & PolymerLevent-Gurses' Introduction to Web Components & Polymer
Levent-Gurses' Introduction to Web Components & Polymer
 
Polymer - Lego for the web!
Polymer - Lego for the web!Polymer - Lego for the web!
Polymer - Lego for the web!
 
Polymer
PolymerPolymer
Polymer
 
Razor into the Razor'verse
Razor into the Razor'verseRazor into the Razor'verse
Razor into the Razor'verse
 
Build Reusable Web Components using HTML5 Web cComponents
Build Reusable Web Components using HTML5 Web cComponentsBuild Reusable Web Components using HTML5 Web cComponents
Build Reusable Web Components using HTML5 Web cComponents
 

Viewers also liked

WORKSHOP SULLE ANTICHE TECNICHE DI STAMPA FOTOGRAFICA
WORKSHOP SULLE ANTICHE TECNICHE DI STAMPA FOTOGRAFICAWORKSHOP SULLE ANTICHE TECNICHE DI STAMPA FOTOGRAFICA
WORKSHOP SULLE ANTICHE TECNICHE DI STAMPA FOTOGRAFICA
Fabrizia Caleari
 
03.07.2014 odf oleg_sentsov_case_ua
03.07.2014 odf oleg_sentsov_case_ua03.07.2014 odf oleg_sentsov_case_ua
03.07.2014 odf oleg_sentsov_case_ua
odfoundation
 
Παρουσίαση αποτελεσμάτων Σ.Κ.Ζ.
Παρουσίαση αποτελεσμάτων Σ.Κ.Ζ.Παρουσίαση αποτελεσμάτων Σ.Κ.Ζ.
Παρουσίαση αποτελεσμάτων Σ.Κ.Ζ.
nouxristina
 
Diaporama British Museum
Diaporama British MuseumDiaporama British Museum
Diaporama British Museum
mhr56
 
Tech talk Angular 2
Tech talk Angular 2Tech talk Angular 2
Tech talk Angular 2
DA-14
 
Data-Driven Marketing Roadshow ERN - March 26, 2014
Data-Driven Marketing Roadshow ERN - March 26, 2014Data-Driven Marketing Roadshow ERN - March 26, 2014
Data-Driven Marketing Roadshow ERN - March 26, 2014
DDM Alliance
 
25 08-2014-odf-report-case-of-nadezhda-savchenko-ua
25 08-2014-odf-report-case-of-nadezhda-savchenko-ua25 08-2014-odf-report-case-of-nadezhda-savchenko-ua
25 08-2014-odf-report-case-of-nadezhda-savchenko-ua
odfoundation
 
Train ต.8(peerawat) 5307231
Train ต.8(peerawat) 5307231Train ต.8(peerawat) 5307231
Train ต.8(peerawat) 5307231
IndyArch Osk
 
06.02.2014 odf ukraine_military_scenario_pl
06.02.2014 odf ukraine_military_scenario_pl06.02.2014 odf ukraine_military_scenario_pl
06.02.2014 odf ukraine_military_scenario_pl
odfoundation
 
El prado
El pradoEl prado
El prado
mhr56
 
το σχολείο & η πόλη μας!!!
το σχολείο & η πόλη μας!!!το σχολείο & η πόλη μας!!!
το σχολείο & η πόλη μας!!!
nouxristina
 
Yd2605142 odf prelim_report_elections_2014_ua
Yd2605142 odf prelim_report_elections_2014_uaYd2605142 odf prelim_report_elections_2014_ua
Yd2605142 odf prelim_report_elections_2014_ua
odfoundation
 
23 06-2014-odf-report-russian-federation-supports-terrorists-in-eastern-ukrai...
23 06-2014-odf-report-russian-federation-supports-terrorists-in-eastern-ukrai...23 06-2014-odf-report-russian-federation-supports-terrorists-in-eastern-ukrai...
23 06-2014-odf-report-russian-federation-supports-terrorists-in-eastern-ukrai...
odfoundation
 
Nanigans Keynote - DDM Alliance Summit Marketing on Facebook
Nanigans Keynote - DDM Alliance Summit Marketing on FacebookNanigans Keynote - DDM Alliance Summit Marketing on Facebook
Nanigans Keynote - DDM Alliance Summit Marketing on Facebook
DDM Alliance
 
Fundacja otwaty dialog_sprawozdanie_finansowe_2014
Fundacja otwaty dialog_sprawozdanie_finansowe_2014Fundacja otwaty dialog_sprawozdanie_finansowe_2014
Fundacja otwaty dialog_sprawozdanie_finansowe_2014
odfoundation
 
SmartSuite Webinar: Turning Data into Actionable Information
SmartSuite Webinar: Turning Data into Actionable InformationSmartSuite Webinar: Turning Data into Actionable Information
SmartSuite Webinar: Turning Data into Actionable Information
Relational Solutions a Mindtree Company
 

Viewers also liked (17)

WORKSHOP SULLE ANTICHE TECNICHE DI STAMPA FOTOGRAFICA
WORKSHOP SULLE ANTICHE TECNICHE DI STAMPA FOTOGRAFICAWORKSHOP SULLE ANTICHE TECNICHE DI STAMPA FOTOGRAFICA
WORKSHOP SULLE ANTICHE TECNICHE DI STAMPA FOTOGRAFICA
 
03.07.2014 odf oleg_sentsov_case_ua
03.07.2014 odf oleg_sentsov_case_ua03.07.2014 odf oleg_sentsov_case_ua
03.07.2014 odf oleg_sentsov_case_ua
 
Παρουσίαση αποτελεσμάτων Σ.Κ.Ζ.
Παρουσίαση αποτελεσμάτων Σ.Κ.Ζ.Παρουσίαση αποτελεσμάτων Σ.Κ.Ζ.
Παρουσίαση αποτελεσμάτων Σ.Κ.Ζ.
 
Diaporama British Museum
Diaporama British MuseumDiaporama British Museum
Diaporama British Museum
 
Tech talk Angular 2
Tech talk Angular 2Tech talk Angular 2
Tech talk Angular 2
 
Data-Driven Marketing Roadshow ERN - March 26, 2014
Data-Driven Marketing Roadshow ERN - March 26, 2014Data-Driven Marketing Roadshow ERN - March 26, 2014
Data-Driven Marketing Roadshow ERN - March 26, 2014
 
25 08-2014-odf-report-case-of-nadezhda-savchenko-ua
25 08-2014-odf-report-case-of-nadezhda-savchenko-ua25 08-2014-odf-report-case-of-nadezhda-savchenko-ua
25 08-2014-odf-report-case-of-nadezhda-savchenko-ua
 
Sprawozdanie 2011
Sprawozdanie 2011Sprawozdanie 2011
Sprawozdanie 2011
 
Train ต.8(peerawat) 5307231
Train ต.8(peerawat) 5307231Train ต.8(peerawat) 5307231
Train ต.8(peerawat) 5307231
 
06.02.2014 odf ukraine_military_scenario_pl
06.02.2014 odf ukraine_military_scenario_pl06.02.2014 odf ukraine_military_scenario_pl
06.02.2014 odf ukraine_military_scenario_pl
 
El prado
El pradoEl prado
El prado
 
το σχολείο & η πόλη μας!!!
το σχολείο & η πόλη μας!!!το σχολείο & η πόλη μας!!!
το σχολείο & η πόλη μας!!!
 
Yd2605142 odf prelim_report_elections_2014_ua
Yd2605142 odf prelim_report_elections_2014_uaYd2605142 odf prelim_report_elections_2014_ua
Yd2605142 odf prelim_report_elections_2014_ua
 
23 06-2014-odf-report-russian-federation-supports-terrorists-in-eastern-ukrai...
23 06-2014-odf-report-russian-federation-supports-terrorists-in-eastern-ukrai...23 06-2014-odf-report-russian-federation-supports-terrorists-in-eastern-ukrai...
23 06-2014-odf-report-russian-federation-supports-terrorists-in-eastern-ukrai...
 
Nanigans Keynote - DDM Alliance Summit Marketing on Facebook
Nanigans Keynote - DDM Alliance Summit Marketing on FacebookNanigans Keynote - DDM Alliance Summit Marketing on Facebook
Nanigans Keynote - DDM Alliance Summit Marketing on Facebook
 
Fundacja otwaty dialog_sprawozdanie_finansowe_2014
Fundacja otwaty dialog_sprawozdanie_finansowe_2014Fundacja otwaty dialog_sprawozdanie_finansowe_2014
Fundacja otwaty dialog_sprawozdanie_finansowe_2014
 
SmartSuite Webinar: Turning Data into Actionable Information
SmartSuite Webinar: Turning Data into Actionable InformationSmartSuite Webinar: Turning Data into Actionable Information
SmartSuite Webinar: Turning Data into Actionable Information
 

Similar to Web Components: back to the future

Web Components: Web back to future.
Web Components: Web back to future.Web Components: Web back to future.
Web Components: Web back to future.
GlobalLogic Ukraine
 
Presentation Tier optimizations
Presentation Tier optimizationsPresentation Tier optimizations
Presentation Tier optimizations
Anup Hariharan Nair
 
Web components - An Introduction
Web components - An IntroductionWeb components - An Introduction
Web components - An Introduction
cherukumilli2
 
Web components are the future of the web - Take advantage of new web technolo...
Web components are the future of the web - Take advantage of new web technolo...Web components are the future of the web - Take advantage of new web technolo...
Web components are the future of the web - Take advantage of new web technolo...
Marios Fakiolas
 
Introduction to web compoents
Introduction to web compoentsIntroduction to web compoents
Introduction to web compoents
Ran Wahle
 
Reaching for the Future with Web Components and Polymer
Reaching for the Future with Web Components and PolymerReaching for the Future with Web Components and Polymer
Reaching for the Future with Web Components and Polymer
FITC
 
Rawnet Lightning Talk - Web Components
Rawnet Lightning Talk - Web ComponentsRawnet Lightning Talk - Web Components
Rawnet Lightning Talk - Web Components
Rawnet
 
Web components
Web componentsWeb components
Web components
Noam Kfir
 
Introduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint WorkshopIntroduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint Workshop
Mark Rackley
 
Polymer - Una bella historia de amor
Polymer - Una bella historia de amorPolymer - Una bella historia de amor
Polymer - Una bella historia de amor
Israel Blancas
 
Web components api + Vuejs
Web components api + VuejsWeb components api + Vuejs
Web components api + Vuejs
Mikhail Kuznetcov
 
Polymer-Powered Design Systems - DevFest Florida
Polymer-Powered Design Systems - DevFest FloridaPolymer-Powered Design Systems - DevFest Florida
Polymer-Powered Design Systems - DevFest Florida
John Riviello
 
Building reusable components as micro frontends with glimmer js and webcompo...
Building reusable components as micro frontends  with glimmer js and webcompo...Building reusable components as micro frontends  with glimmer js and webcompo...
Building reusable components as micro frontends with glimmer js and webcompo...
Andrei Sebastian Cîmpean
 
Web Components
Web ComponentsWeb Components
Web Components
FITC
 
Angular elements - embed your angular components EVERYWHERE
Angular elements - embed your angular components EVERYWHEREAngular elements - embed your angular components EVERYWHERE
Angular elements - embed your angular components EVERYWHERE
Nadav Mary
 
Leveraging the Power of Custom Elements in Gutenberg
Leveraging the Power of Custom Elements in GutenbergLeveraging the Power of Custom Elements in Gutenberg
Leveraging the Power of Custom Elements in Gutenberg
Felix Arntz
 
Orchard Harvest 2014 - The Future of Widgets?
Orchard Harvest 2014 - The Future of Widgets?Orchard Harvest 2014 - The Future of Widgets?
Orchard Harvest 2014 - The Future of Widgets?
Steve Taylor
 
Vue micro frontend implementation patterns
Vue micro frontend implementation patternsVue micro frontend implementation patterns
Vue micro frontend implementation patterns
Albert Brand
 
Intro to mobile web application development
Intro to mobile web application developmentIntro to mobile web application development
Intro to mobile web application development
zonathen
 
Intro to polymer-Devfest Yaoundé 2013
Intro to polymer-Devfest Yaoundé 2013Intro to polymer-Devfest Yaoundé 2013
Intro to polymer-Devfest Yaoundé 2013
gdgyaounde
 

Similar to Web Components: back to the future (20)

Web Components: Web back to future.
Web Components: Web back to future.Web Components: Web back to future.
Web Components: Web back to future.
 
Presentation Tier optimizations
Presentation Tier optimizationsPresentation Tier optimizations
Presentation Tier optimizations
 
Web components - An Introduction
Web components - An IntroductionWeb components - An Introduction
Web components - An Introduction
 
Web components are the future of the web - Take advantage of new web technolo...
Web components are the future of the web - Take advantage of new web technolo...Web components are the future of the web - Take advantage of new web technolo...
Web components are the future of the web - Take advantage of new web technolo...
 
Introduction to web compoents
Introduction to web compoentsIntroduction to web compoents
Introduction to web compoents
 
Reaching for the Future with Web Components and Polymer
Reaching for the Future with Web Components and PolymerReaching for the Future with Web Components and Polymer
Reaching for the Future with Web Components and Polymer
 
Rawnet Lightning Talk - Web Components
Rawnet Lightning Talk - Web ComponentsRawnet Lightning Talk - Web Components
Rawnet Lightning Talk - Web Components
 
Web components
Web componentsWeb components
Web components
 
Introduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint WorkshopIntroduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint Workshop
 
Polymer - Una bella historia de amor
Polymer - Una bella historia de amorPolymer - Una bella historia de amor
Polymer - Una bella historia de amor
 
Web components api + Vuejs
Web components api + VuejsWeb components api + Vuejs
Web components api + Vuejs
 
Polymer-Powered Design Systems - DevFest Florida
Polymer-Powered Design Systems - DevFest FloridaPolymer-Powered Design Systems - DevFest Florida
Polymer-Powered Design Systems - DevFest Florida
 
Building reusable components as micro frontends with glimmer js and webcompo...
Building reusable components as micro frontends  with glimmer js and webcompo...Building reusable components as micro frontends  with glimmer js and webcompo...
Building reusable components as micro frontends with glimmer js and webcompo...
 
Web Components
Web ComponentsWeb Components
Web Components
 
Angular elements - embed your angular components EVERYWHERE
Angular elements - embed your angular components EVERYWHEREAngular elements - embed your angular components EVERYWHERE
Angular elements - embed your angular components EVERYWHERE
 
Leveraging the Power of Custom Elements in Gutenberg
Leveraging the Power of Custom Elements in GutenbergLeveraging the Power of Custom Elements in Gutenberg
Leveraging the Power of Custom Elements in Gutenberg
 
Orchard Harvest 2014 - The Future of Widgets?
Orchard Harvest 2014 - The Future of Widgets?Orchard Harvest 2014 - The Future of Widgets?
Orchard Harvest 2014 - The Future of Widgets?
 
Vue micro frontend implementation patterns
Vue micro frontend implementation patternsVue micro frontend implementation patterns
Vue micro frontend implementation patterns
 
Intro to mobile web application development
Intro to mobile web application developmentIntro to mobile web application development
Intro to mobile web application development
 
Intro to polymer-Devfest Yaoundé 2013
Intro to polymer-Devfest Yaoundé 2013Intro to polymer-Devfest Yaoundé 2013
Intro to polymer-Devfest Yaoundé 2013
 

More from DA-14

Express js clean-controller
Express js clean-controllerExpress js clean-controller
Express js clean-controller
DA-14
 
Express js api-versioning
Express js api-versioningExpress js api-versioning
Express js api-versioning
DA-14
 
AngularJS: what is underneath the hood
AngularJS: what is underneath the hood AngularJS: what is underneath the hood
AngularJS: what is underneath the hood
DA-14
 
Firebase not really_yohoho
Firebase not really_yohohoFirebase not really_yohoho
Firebase not really_yohoho
DA-14
 
Techtalk#8: Design patterns in real life
Techtalk#8: Design patterns in real lifeTechtalk#8: Design patterns in real life
Techtalk#8: Design patterns in real life
DA-14
 
Techtalk#7: Architecture principles by Steve McConnell's book "Code Complete"
Techtalk#7: Architecture principles by Steve McConnell's book "Code Complete"Techtalk#7: Architecture principles by Steve McConnell's book "Code Complete"
Techtalk#7: Architecture principles by Steve McConnell's book "Code Complete"
DA-14
 
Mysql, MongoDb feat. Doctrine2
Mysql, MongoDb feat. Doctrine2Mysql, MongoDb feat. Doctrine2
Mysql, MongoDb feat. Doctrine2
DA-14
 
Techtalk#6: NodeJs: pitfalls (based on game project)
Techtalk#6: NodeJs: pitfalls (based on game project)Techtalk#6: NodeJs: pitfalls (based on game project)
Techtalk#6: NodeJs: pitfalls (based on game project)
DA-14
 
JS Frameworks Day April,26 of 2014
JS Frameworks Day April,26 of 2014JS Frameworks Day April,26 of 2014
JS Frameworks Day April,26 of 2014
DA-14
 
TechTalk#2: Принципы управления временем
TechTalk#2: Принципы управления временемTechTalk#2: Принципы управления временем
TechTalk#2: Принципы управления временем
DA-14
 
TechTalk#3: REST
TechTalk#3: RESTTechTalk#3: REST
TechTalk#3: REST
DA-14
 

More from DA-14 (11)

Express js clean-controller
Express js clean-controllerExpress js clean-controller
Express js clean-controller
 
Express js api-versioning
Express js api-versioningExpress js api-versioning
Express js api-versioning
 
AngularJS: what is underneath the hood
AngularJS: what is underneath the hood AngularJS: what is underneath the hood
AngularJS: what is underneath the hood
 
Firebase not really_yohoho
Firebase not really_yohohoFirebase not really_yohoho
Firebase not really_yohoho
 
Techtalk#8: Design patterns in real life
Techtalk#8: Design patterns in real lifeTechtalk#8: Design patterns in real life
Techtalk#8: Design patterns in real life
 
Techtalk#7: Architecture principles by Steve McConnell's book "Code Complete"
Techtalk#7: Architecture principles by Steve McConnell's book "Code Complete"Techtalk#7: Architecture principles by Steve McConnell's book "Code Complete"
Techtalk#7: Architecture principles by Steve McConnell's book "Code Complete"
 
Mysql, MongoDb feat. Doctrine2
Mysql, MongoDb feat. Doctrine2Mysql, MongoDb feat. Doctrine2
Mysql, MongoDb feat. Doctrine2
 
Techtalk#6: NodeJs: pitfalls (based on game project)
Techtalk#6: NodeJs: pitfalls (based on game project)Techtalk#6: NodeJs: pitfalls (based on game project)
Techtalk#6: NodeJs: pitfalls (based on game project)
 
JS Frameworks Day April,26 of 2014
JS Frameworks Day April,26 of 2014JS Frameworks Day April,26 of 2014
JS Frameworks Day April,26 of 2014
 
TechTalk#2: Принципы управления временем
TechTalk#2: Принципы управления временемTechTalk#2: Принципы управления временем
TechTalk#2: Принципы управления временем
 
TechTalk#3: REST
TechTalk#3: RESTTechTalk#3: REST
TechTalk#3: REST
 

Recently uploaded

LeetCode Database problems solved using PySpark.pdf
LeetCode Database problems solved using PySpark.pdfLeetCode Database problems solved using PySpark.pdf
LeetCode Database problems solved using PySpark.pdf
pavanaroshni1977
 
Natural Is The Best: Model-Agnostic Code Simplification for Pre-trained Large...
Natural Is The Best: Model-Agnostic Code Simplification for Pre-trained Large...Natural Is The Best: Model-Agnostic Code Simplification for Pre-trained Large...
Natural Is The Best: Model-Agnostic Code Simplification for Pre-trained Large...
YanKing2
 
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model SafeRohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
binna singh$A17
 
CCS367-STORAGE TECHNOLOGIES QUESTION BANK.doc
CCS367-STORAGE TECHNOLOGIES QUESTION BANK.docCCS367-STORAGE TECHNOLOGIES QUESTION BANK.doc
CCS367-STORAGE TECHNOLOGIES QUESTION BANK.doc
Dss
 
Best Practices of Clothing Businesses in Talavera, Nueva Ecija, A Foundation ...
Best Practices of Clothing Businesses in Talavera, Nueva Ecija, A Foundation ...Best Practices of Clothing Businesses in Talavera, Nueva Ecija, A Foundation ...
Best Practices of Clothing Businesses in Talavera, Nueva Ecija, A Foundation ...
IJAEMSJORNAL
 
Online music portal management system project report.pdf
Online music portal management system project report.pdfOnline music portal management system project report.pdf
Online music portal management system project report.pdf
Kamal Acharya
 
Lecture 6 - The effect of Corona effect in Power systems.pdf
Lecture 6 - The effect of Corona effect in Power systems.pdfLecture 6 - The effect of Corona effect in Power systems.pdf
Lecture 6 - The effect of Corona effect in Power systems.pdf
peacekipu
 
How to Manage Internal Notes in Odoo 17 POS
How to Manage Internal Notes in Odoo 17 POSHow to Manage Internal Notes in Odoo 17 POS
How to Manage Internal Notes in Odoo 17 POS
Celine George
 
Understanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Understanding Cybersecurity Breaches: Causes, Consequences, and PreventionUnderstanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Understanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Bert Blevins
 
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
sharvaridhokte
 
Development of Chatbot Using AI/ML Technologies
Development of  Chatbot Using AI/ML TechnologiesDevelopment of  Chatbot Using AI/ML Technologies
Development of Chatbot Using AI/ML Technologies
maisnampibarel
 
Germany Offshore Wind 010724 RE (1) 2 test.pptx
Germany Offshore Wind 010724 RE (1) 2 test.pptxGermany Offshore Wind 010724 RE (1) 2 test.pptx
Germany Offshore Wind 010724 RE (1) 2 test.pptx
rebecca841358
 
21EC63_Module1B.pptx VLSI design 21ec63 MOS TRANSISTOR THEORY
21EC63_Module1B.pptx VLSI design 21ec63 MOS TRANSISTOR THEORY21EC63_Module1B.pptx VLSI design 21ec63 MOS TRANSISTOR THEORY
21EC63_Module1B.pptx VLSI design 21ec63 MOS TRANSISTOR THEORY
PradeepKumarSK3
 
Unblocking The Main Thread - Solving ANRs and Frozen Frames
Unblocking The Main Thread - Solving ANRs and Frozen FramesUnblocking The Main Thread - Solving ANRs and Frozen Frames
Unblocking The Main Thread - Solving ANRs and Frozen Frames
Sinan KOZAK
 
Press Tool and It's Primary Components.pdf
Press Tool and It's Primary Components.pdfPress Tool and It's Primary Components.pdf
Press Tool and It's Primary Components.pdf
Tool and Die Tech
 
Quadcopter Dynamics, Stability and Control
Quadcopter Dynamics, Stability and ControlQuadcopter Dynamics, Stability and Control
Quadcopter Dynamics, Stability and Control
Blesson Easo Varghese
 
Phone Us ❤ X000XX000X ❤ #ℂall #gIRLS In Chennai By Chenai @ℂall @Girls Hotel ...
Phone Us ❤ X000XX000X ❤ #ℂall #gIRLS In Chennai By Chenai @ℂall @Girls Hotel ...Phone Us ❤ X000XX000X ❤ #ℂall #gIRLS In Chennai By Chenai @ℂall @Girls Hotel ...
Phone Us ❤ X000XX000X ❤ #ℂall #gIRLS In Chennai By Chenai @ℂall @Girls Hotel ...
Miss Khusi #V08
 
Biology for computer science BBOC407 vtu
Biology for computer science BBOC407 vtuBiology for computer science BBOC407 vtu
Biology for computer science BBOC407 vtu
santoshpatilrao33
 
L-3536-Cost Benifit Analysis in ESIA.pptx
L-3536-Cost Benifit Analysis in ESIA.pptxL-3536-Cost Benifit Analysis in ESIA.pptx
L-3536-Cost Benifit Analysis in ESIA.pptx
naseki5964
 
Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...
Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...
Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...
VICTOR MAESTRE RAMIREZ
 

Recently uploaded (20)

LeetCode Database problems solved using PySpark.pdf
LeetCode Database problems solved using PySpark.pdfLeetCode Database problems solved using PySpark.pdf
LeetCode Database problems solved using PySpark.pdf
 
Natural Is The Best: Model-Agnostic Code Simplification for Pre-trained Large...
Natural Is The Best: Model-Agnostic Code Simplification for Pre-trained Large...Natural Is The Best: Model-Agnostic Code Simplification for Pre-trained Large...
Natural Is The Best: Model-Agnostic Code Simplification for Pre-trained Large...
 
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model SafeRohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
 
CCS367-STORAGE TECHNOLOGIES QUESTION BANK.doc
CCS367-STORAGE TECHNOLOGIES QUESTION BANK.docCCS367-STORAGE TECHNOLOGIES QUESTION BANK.doc
CCS367-STORAGE TECHNOLOGIES QUESTION BANK.doc
 
Best Practices of Clothing Businesses in Talavera, Nueva Ecija, A Foundation ...
Best Practices of Clothing Businesses in Talavera, Nueva Ecija, A Foundation ...Best Practices of Clothing Businesses in Talavera, Nueva Ecija, A Foundation ...
Best Practices of Clothing Businesses in Talavera, Nueva Ecija, A Foundation ...
 
Online music portal management system project report.pdf
Online music portal management system project report.pdfOnline music portal management system project report.pdf
Online music portal management system project report.pdf
 
Lecture 6 - The effect of Corona effect in Power systems.pdf
Lecture 6 - The effect of Corona effect in Power systems.pdfLecture 6 - The effect of Corona effect in Power systems.pdf
Lecture 6 - The effect of Corona effect in Power systems.pdf
 
How to Manage Internal Notes in Odoo 17 POS
How to Manage Internal Notes in Odoo 17 POSHow to Manage Internal Notes in Odoo 17 POS
How to Manage Internal Notes in Odoo 17 POS
 
Understanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Understanding Cybersecurity Breaches: Causes, Consequences, and PreventionUnderstanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Understanding Cybersecurity Breaches: Causes, Consequences, and Prevention
 
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
 
Development of Chatbot Using AI/ML Technologies
Development of  Chatbot Using AI/ML TechnologiesDevelopment of  Chatbot Using AI/ML Technologies
Development of Chatbot Using AI/ML Technologies
 
Germany Offshore Wind 010724 RE (1) 2 test.pptx
Germany Offshore Wind 010724 RE (1) 2 test.pptxGermany Offshore Wind 010724 RE (1) 2 test.pptx
Germany Offshore Wind 010724 RE (1) 2 test.pptx
 
21EC63_Module1B.pptx VLSI design 21ec63 MOS TRANSISTOR THEORY
21EC63_Module1B.pptx VLSI design 21ec63 MOS TRANSISTOR THEORY21EC63_Module1B.pptx VLSI design 21ec63 MOS TRANSISTOR THEORY
21EC63_Module1B.pptx VLSI design 21ec63 MOS TRANSISTOR THEORY
 
Unblocking The Main Thread - Solving ANRs and Frozen Frames
Unblocking The Main Thread - Solving ANRs and Frozen FramesUnblocking The Main Thread - Solving ANRs and Frozen Frames
Unblocking The Main Thread - Solving ANRs and Frozen Frames
 
Press Tool and It's Primary Components.pdf
Press Tool and It's Primary Components.pdfPress Tool and It's Primary Components.pdf
Press Tool and It's Primary Components.pdf
 
Quadcopter Dynamics, Stability and Control
Quadcopter Dynamics, Stability and ControlQuadcopter Dynamics, Stability and Control
Quadcopter Dynamics, Stability and Control
 
Phone Us ❤ X000XX000X ❤ #ℂall #gIRLS In Chennai By Chenai @ℂall @Girls Hotel ...
Phone Us ❤ X000XX000X ❤ #ℂall #gIRLS In Chennai By Chenai @ℂall @Girls Hotel ...Phone Us ❤ X000XX000X ❤ #ℂall #gIRLS In Chennai By Chenai @ℂall @Girls Hotel ...
Phone Us ❤ X000XX000X ❤ #ℂall #gIRLS In Chennai By Chenai @ℂall @Girls Hotel ...
 
Biology for computer science BBOC407 vtu
Biology for computer science BBOC407 vtuBiology for computer science BBOC407 vtu
Biology for computer science BBOC407 vtu
 
L-3536-Cost Benifit Analysis in ESIA.pptx
L-3536-Cost Benifit Analysis in ESIA.pptxL-3536-Cost Benifit Analysis in ESIA.pptx
L-3536-Cost Benifit Analysis in ESIA.pptx
 
Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...
Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...
Advances in Detect and Avoid for Unmanned Aircraft Systems and Advanced Air M...
 

Web Components: back to the future

  • 1. <web-components> Web back to future </web-components> by Anna Khabibullina
  • 2. .Agenda _ Web Components and their parts _ X-Browser Support _ Demo _ Best Practices
  • 3. .About Me _ Co-founder of DA-14 Web Dev Team http://da-14.com _ Web Engineer http://sitecues.com _ Open Source Contributor http://github.com/akhabibullina _ Social Person http://twitter.com/_khabibullina
  • 4. .What I work on _ SaaS application(assistive tool) _ (No) libraries _ No frameworks _ UX design matters _ Accessibility in mind .Welcome every problem as opportunity _ Better understanding _ R&D challenges _ Taking advantage of new technologies _ Experimental features _ X-browser support for modern browsers
  • 5. .Web Components Made Of Rainbows Set of cutting edge [draft] standards proposed by Google that make it possible to build secure reusable widgets using web platform technologies.
  • 6. .Web Components Comprised of four parts: _ Templates _ Custom Elements _ HTML Imports _ Shadow DOM
  • 7. Templates: Standardizing client-side templating _ Why? : Maximize code reusability and maintainability. _ How? : Declare inert chunks of cloneable DOM with <template>. _ http://www.html5rocks.com/en/tutorials/webcomponents/template
  • 8. Templates _ Inert markup <table> <tr> <template id="cells-to-repeat"> <td>Some content!</td> </template> </tr> </table> _ Activate template var t = document.querySelector('template').content; var clone = document.importNode(t, true); document.body.appendChild(clone);
  • 9. .Web Components Templates Custom Elements HTML Imports Shadow DOM
  • 10. Custom Elements: Sexy markup _ Why? : There is nothing modern in <div> soup. _ How? : Define new types of HTML elements and their APIs. _ http://www.html5rocks.com/en/tutorials/webcomponents/customelements
  • 11. Custom Elements _ JavaScript var CustomElementProto = Object.create(HTMLElement.prototype); var XFoo = document.registerElement('x-custom-da-14', { prototype: CustomElementProto }); var xfoo = new XFoo(); document.body.appendChild(xfoo); _ HTML <x-custom-da-14></x-custom-da-14>
  • 12. .Web Components Templates Custom Elements HTML Imports Shadow DOM
  • 13. HTML Imports: Simple way to load HTML elements _ Why? : The web's most basic content, HTML, requires the greatest amount of effort to work with. _ How? : Import HTML components via <link rel="import">. _ http://www.html5rocks.com/en/tutorials/webcomponents/imports
  • 14. HTML Imports index.html <head> <link rel="import" href="/path/to/import.html"> </head> <body> … </body> <script> … </script> import.html … <div id="blog-post">...</div> var c = document.querySelector('link[rel="import"]').import; access content
  • 15. HTML Imports Yo dawg. I hear you like imports, so I included an import in your import.
  • 16. .Web Components Templates Custom Elements HTML Imports Shadow DOM
  • 17. Shadow DOM: Separating content from presentation _ Why? : DOM tree encapsulation problem. _ How? : Think about DOM hosting DOM, which hosts more DOM. _ http://www.html5rocks.com/en/tutorials/webcomponent s/shadowdom
  • 18. Shadow DOM _ Video player <video controls="" autoplay="" name="media"> <source src="http://localhost:1000/media" type="audio/mpeg"> </video>
  • 19. Shadow DOM _ http://html5-demos.appspot.com/shadowdom-visualizer
  • 20. .Web Components Templates Standardizing client-side templating Custom Elements Sexy markup HTML Imports Simple way to load HTML elements Shadow DOM Separating content from presentation
  • 22. .Best Practices _ Namespacing(bower.io, customelements.io) _ Mimic built-in elements as closely as possible _ Don't put too much in Shadow DOM _ Don't create more custom elements than you need ….. _ Accessibility _ Performance _ Testing _ http://webcomponents.org/articles/web-components-best- practices/
  • 23. .X-Browser Support _ X-TAG http://x-tags.org/ _ POLYMER http://www.polymer-project. _ http://jonrimmer.github.io/are-we-componentized-yet/ org/ _ BOSONIC http://bosonic.github.io/
  • 24. .Demo _ CUSTOMELEMENTS.IO A gallery to display Web Components created by the community. http://customelements.io/ _ COMPONENT KITCHEN Component catalog for a mainstream HTML audience. http://component.kitchen/ http://html5-demos.appspot.com/static/webcomponents/index.html#1
  • 25. .Web Components Supporting Cast: Awesome Future Web _ document.querySelectorAll() _ Object.observe() _ MutationObserver _ CSS variables, calc() http://wiki.ecmascript.org/doku.php?id=harmony:observe
  • 26. ..YYoouurr t tuurnr…nD…is Dcoisvecro!ver!
  • 27. .Useful links _ http://www.w3.org/wiki/WebComponents/ _ http://webcomponents.org/ _ http://habrahabr.ru/post/210058/ _ http://css-tricks.com/modular-future-web-components/ _ http://webcomponents.org/presentations/accessibility-of-web-components- at-jsconf-us/ _ https://www.youtube.com/watch?v=2txPYQOWBtg _ http://www.youtube.com/watch?v=eJZx9c6YL8k _ http://jonrimmer.github.io/are-we-componentized-yet/ _ http://w3c.github.io/webcomponents/spec/custom/#es6

Editor's Notes

  1. Кто такая я и почему я сейчас рассказываю про веб компоненты…
  2. Если описание моего проекта перекликается с вашим, то это значит, что вам тоже можно присмотреться к web components.
  3. Все 4 части можно использовать отдельно, но
  4. Тема шаблонизации в Вебе не нова, бекенд - фронтенд.
  5. Контент шаблона не находится в ДОМе, все запросы querySelector() или getElementById() не выберут детей Можно разместить где угодно в документе <head>, <body>, or <frameset
  6. Чтобы избежать конфликтов, согласно стандарту, кастомные элементы должны содержать дефис в своём названии. По-умолчанию они наследуют HTMLElement.
  7. Простое АПИ, которое давно должно было появится.
  8. CORS
  9. Простое АПИ, которое давно должно было появится.
  10. http://localhost:1000/media
  11. http://html5-demos.appspot.com/shadowdom-visualizer
  12. Темплейты - фрагменты HTML, которые программист собирается использовать в будущем. Custom позволят писать модульный, удобочитаемый код на высоком уровне. HTMl Imports Импорт фрагментов разметки из других файлов. Shadow DOM - Инструмент инкапсуляции HTML.
  13. Темплейты - фрагменты HTML, которые программист собирается использовать в будущем. Custom позволят писать модульный, удобочитаемый код на высоком уровне. HTMl Imports Импорт фрагментов разметки из других файлов. Shadow DOM - Инструмент инкапсуляции HTML.
  14. http://localhost:8000/site/chess-test/bower_components/chess-board/index.html
  15. На мой взгляд, Web Components — это следующий шаг. Разработчики смогут создавать интерактивные виджеты. Их легко поддерживать, переиспользовать, интегрировать. Изучайте и дерзайте!