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 (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
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
 
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
 
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
 
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
 
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
 

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
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
 
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
 

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.
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
 
Mastering JavaScript and DOM: A Gateway to Web Development
Mastering JavaScript and DOM: A Gateway to Web DevelopmentMastering JavaScript and DOM: A Gateway to Web Development
Mastering JavaScript and DOM: A Gateway to Web Development
Piyumi Niwanthika Herath
 
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
 
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
 
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
 
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
 
Mastering JavaScript and DOM: A Gateway to Web Development
Mastering JavaScript and DOM: A Gateway to Web DevelopmentMastering JavaScript and DOM: A Gateway to Web Development
Mastering JavaScript and DOM: A Gateway to Web Development
Piyumi Niwanthika Herath
 
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
 

More from DA-14 (11)

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
 
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
 

Recently uploaded (20)

IntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdfIntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdf
Luiz Carneiro
 
Introduction to FLUID MECHANICS & KINEMATICS
Introduction to FLUID MECHANICS &  KINEMATICSIntroduction to FLUID MECHANICS &  KINEMATICS
Introduction to FLUID MECHANICS & KINEMATICS
narayanaswamygdas
 
Degree_of_Automation.pdf for Instrumentation and industrial specialist
Degree_of_Automation.pdf for  Instrumentation  and industrial specialistDegree_of_Automation.pdf for  Instrumentation  and industrial specialist
Degree_of_Automation.pdf for Instrumentation and industrial specialist
shreyabhosale19
 
DSP and MV the Color image processing.ppt
DSP and MV the  Color image processing.pptDSP and MV the  Color image processing.ppt
DSP and MV the Color image processing.ppt
HafizAhamed8
 
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E..."Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
Infopitaara
 
Level 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical SafetyLevel 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical Safety
JoseAlbertoCariasDel
 
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdfMAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
ssuser562df4
 
The Gaussian Process Modeling Module in UQLab
The Gaussian Process Modeling Module in UQLabThe Gaussian Process Modeling Module in UQLab
The Gaussian Process Modeling Module in UQLab
Journal of Soft Computing in Civil Engineering
 
introduction to machine learining for beginers
introduction to machine learining for beginersintroduction to machine learining for beginers
introduction to machine learining for beginers
JoydebSheet
 
Data Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptxData Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptx
RushaliDeshmukh2
 
Metal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistryMetal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistry
mee23nu
 
Avnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights FlyerAvnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights Flyer
WillDavies22
 
Machine learning project on employee attrition detection using (2).pptx
Machine learning project on employee attrition detection using (2).pptxMachine learning project on employee attrition detection using (2).pptx
Machine learning project on employee attrition detection using (2).pptx
rajeswari89780
 
15th International Conference on Computer Science, Engineering and Applicatio...
15th International Conference on Computer Science, Engineering and Applicatio...15th International Conference on Computer Science, Engineering and Applicatio...
15th International Conference on Computer Science, Engineering and Applicatio...
IJCSES Journal
 
railway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forgingrailway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forging
Javad Kadkhodapour
 
some basics electrical and electronics knowledge
some basics electrical and electronics knowledgesome basics electrical and electronics knowledge
some basics electrical and electronics knowledge
nguyentrungdo88
 
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
inmishra17121973
 
ELectronics Boards & Product Testing_Shiju.pdf
ELectronics Boards & Product Testing_Shiju.pdfELectronics Boards & Product Testing_Shiju.pdf
ELectronics Boards & Product Testing_Shiju.pdf
Shiju Jacob
 
Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...
Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...
Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...
Journal of Soft Computing in Civil Engineering
 
AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)
Vəhid Gəruslu
 
IntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdfIntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdf
Luiz Carneiro
 
Introduction to FLUID MECHANICS & KINEMATICS
Introduction to FLUID MECHANICS &  KINEMATICSIntroduction to FLUID MECHANICS &  KINEMATICS
Introduction to FLUID MECHANICS & KINEMATICS
narayanaswamygdas
 
Degree_of_Automation.pdf for Instrumentation and industrial specialist
Degree_of_Automation.pdf for  Instrumentation  and industrial specialistDegree_of_Automation.pdf for  Instrumentation  and industrial specialist
Degree_of_Automation.pdf for Instrumentation and industrial specialist
shreyabhosale19
 
DSP and MV the Color image processing.ppt
DSP and MV the  Color image processing.pptDSP and MV the  Color image processing.ppt
DSP and MV the Color image processing.ppt
HafizAhamed8
 
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E..."Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
Infopitaara
 
Level 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical SafetyLevel 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical Safety
JoseAlbertoCariasDel
 
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdfMAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
ssuser562df4
 
introduction to machine learining for beginers
introduction to machine learining for beginersintroduction to machine learining for beginers
introduction to machine learining for beginers
JoydebSheet
 
Data Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptxData Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptx
RushaliDeshmukh2
 
Metal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistryMetal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistry
mee23nu
 
Avnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights FlyerAvnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights Flyer
WillDavies22
 
Machine learning project on employee attrition detection using (2).pptx
Machine learning project on employee attrition detection using (2).pptxMachine learning project on employee attrition detection using (2).pptx
Machine learning project on employee attrition detection using (2).pptx
rajeswari89780
 
15th International Conference on Computer Science, Engineering and Applicatio...
15th International Conference on Computer Science, Engineering and Applicatio...15th International Conference on Computer Science, Engineering and Applicatio...
15th International Conference on Computer Science, Engineering and Applicatio...
IJCSES Journal
 
railway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forgingrailway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forging
Javad Kadkhodapour
 
some basics electrical and electronics knowledge
some basics electrical and electronics knowledgesome basics electrical and electronics knowledge
some basics electrical and electronics knowledge
nguyentrungdo88
 
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
inmishra17121973
 
ELectronics Boards & Product Testing_Shiju.pdf
ELectronics Boards & Product Testing_Shiju.pdfELectronics Boards & Product Testing_Shiju.pdf
ELectronics Boards & Product Testing_Shiju.pdf
Shiju Jacob
 
AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)
Vəhid Gəruslu
 

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

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