SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
HTML5 
Web Components 
Madrid – 21 HTML 5 y Web 22 Components 
de Noviembre de 2014
HTML 5 Web Components 
Índice 
1. Introducción 
2. Custom Tags 
3. Shadow Dom 
4. Templates 
5. HTML Imports 
6. Compatibilidad 
Autor 
Luis Calvo Díaz 
Senior Front Developer en Paradigma Tecnológico 
@LuisCalvoDiaz
HTML 5 Web Components 
Introducción 
Creados a través de una etiqueta (tag) 
Incluyen un comportamiento definido 
Incluyen una forma de visualización
HTML 5 Web Components 
Introducción
HTML 5 Web Components 
Introducción
HTML 5 Web Components 
Introducción
HTML 5 Web Components
HTML 5 Web Components 
Introducción
HTML 5 Web Components 
Custo 
ms 
Tags 
HTML 
Import 
s 
Templa 
tes 
Shado 
w 
DOM
Customs Tags 
HTML 5 Web Components 
HTML 5 Web Components 
2
<mi-nuevo-tag></mi-nuevo-tag> 
HTML 5 Web Components 
Custom Tags 
Permite a los desarrolladores definir nuevos elementos 
HTML 
El nombre del custom tag debe 
contener al menos un guión (-)
HTML 5 Web Components 
Custom Tags 
Permite crear nuevos elementos que extienden de otros 
elementos 
<button is=“mi-nuevo-boton”></button> 
https://developer.mozilla.org/en-US/docs/Web/API
Eventos 
HTML 5 Web Components 
Custom Tags 
o createdCallback 
se ha creado una instancia del elemento 
o attachedCallback 
se ha insertado una instancia del elemento 
o detachedCallback 
se ha eliminado una instancia del elemento 
o attributeChangedCallback(attrName, oldVal, 
newVal)
HTML 5 Web Components 
Custom Tags 
Dando estilo
Shadow DOM 
HTML 5 Web Components 
HTML 5 Web Components 
3
HTML 5 Web Components 
Shadow DOM 
Docume 
nt 
Hij 
o 
Hij 
o 
Hij 
o 
Hij 
o 
Hij 
o 
Hij 
o
Shadow DOM give us 
markup 
encapsulation, style 
boundaries, and 
exposes (to web 
developers) the same 
mechanics browser 
vendors have been 
using to implement 
their internal UI 
HTML 5 Web Components 
Shadow DOM
HTML 5 Web Components 
Shadow DOM 
Docume 
nt 
Hij 
o 
Hij 
o 
Shadow 
host 
Hij 
o 
Shadow root 
Hij 
o 
Shadow 
Tree 
Document 
Tree
Templates 
HTML 5 Web Components 
HTML 5 Web Components 
4
HTML 5 Web Components 
Templates 
<script type="text/template" id="template1"> 
<li><%name%></li> 
</script> 
<script type="text/x-handlebars-template" 
id="template2"> 
<li>{{name}}</li> 
</script>
<template id="template1"> 
<li>Contenido</li> 
HTML 5 Web Components 
</template> 
Templates 
El contenido de un template está “inerte” hasta que se 
activa (scripts, imágenes, audio/vídeo) 
El template puede colocarse en cualquier parte y puede 
contener cualquier tipo de contenido
HTML Imports 
HTML 5 Web Components 
HTML 5 Web Components 
5
HTML 5 Web Components 
HTML Imports 
<ifram 
e> 
<iframe 
src=“miNuevaPagina.html”></ifram 
e> 
AJAX 
var xhr = new XM LH ttpRequest(); 
xhr.open('G ET', m iNuevaPagina.htm l', true); 
xhr.responseType = 'docum ent'; 
Trabajar con HTML, el componente básico de la web requiere una gran 
cantidad de esfuerzo 
<script 
src> 
<link 
rel=“stylesheet”> 
<video <audio 
> 
> 
<img>
HTML 5 Web Components 
HTML Imports 
<head> 
<link rel="import" href="/path/to/imports/stuff.html"> 
<!– Documentos en otro dominio necesitan CORS-enabled. --> 
<link rel="import" href=“http://example.com/elements.html”> 
</head>
var link = document.createElement('link'); 
link.rel = 'import'; 
link.href = 'file.html' 
link.onload = function(e) {...}; 
link.onerror = function(e) {...}; 
document.head.appendChild(link); 
HTML 5 Web Components 
HTML Imports
Soporte en navegadores 
HTML 5 Web Components
HTML 5 Web Components 
Recursos 
Webcomponents.org -> http://webcomponents.org/ 
Polymer -> https://www.polymer-project.org/ 
X-Tag -> http://x-tags.org/ 
Galeria de Web Components 
http://customelements.io/ 
http://component.kitchen/ 
http://builtwithpolymer.org/

Más contenido relacionado

Destacado

Google Developer Group(GDG) DevFest Event 2012 Android talk
Google Developer Group(GDG) DevFest Event 2012 Android talkGoogle Developer Group(GDG) DevFest Event 2012 Android talk
Google Developer Group(GDG) DevFest Event 2012 Android talk
Imam Raza
 

Destacado (19)

ECMAScript 6
ECMAScript 6ECMAScript 6
ECMAScript 6
 
Analysis of Websites as Graphs for SEO
Analysis of Websites as Graphs for SEOAnalysis of Websites as Graphs for SEO
Analysis of Websites as Graphs for SEO
 
Kafka y python
Kafka y pythonKafka y python
Kafka y python
 
Cómo usar google analytics
Cómo usar google analyticsCómo usar google analytics
Cómo usar google analytics
 
Manuel Hurtado. Couchbase paradigma4oct
Manuel Hurtado. Couchbase paradigma4octManuel Hurtado. Couchbase paradigma4oct
Manuel Hurtado. Couchbase paradigma4oct
 
Google Analytics for Developers
Google Analytics for DevelopersGoogle Analytics for Developers
Google Analytics for Developers
 
Programación Reactiva con RxJava
Programación Reactiva con RxJavaProgramación Reactiva con RxJava
Programación Reactiva con RxJava
 
Overview atlas (1)
Overview atlas (1)Overview atlas (1)
Overview atlas (1)
 
O'Reilly Fluent, Web Components Enterprise
O'Reilly Fluent, Web Components EnterpriseO'Reilly Fluent, Web Components Enterprise
O'Reilly Fluent, Web Components Enterprise
 
Transformación Digital
Transformación DigitalTransformación Digital
Transformación Digital
 
Python y Flink
Python y FlinkPython y Flink
Python y Flink
 
¿Cómo vencer a los dragones digitales?
¿Cómo vencer a los dragones digitales?¿Cómo vencer a los dragones digitales?
¿Cómo vencer a los dragones digitales?
 
Introducción a Kubernetes
Introducción a KubernetesIntroducción a Kubernetes
Introducción a Kubernetes
 
Introduction to Web Components
Introduction to Web ComponentsIntroduction to Web Components
Introduction to Web Components
 
Google Developer Group(GDG) DevFest Event 2012 Android talk
Google Developer Group(GDG) DevFest Event 2012 Android talkGoogle Developer Group(GDG) DevFest Event 2012 Android talk
Google Developer Group(GDG) DevFest Event 2012 Android talk
 
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!
 
An Introduction to Web Components
An Introduction to Web ComponentsAn Introduction to Web Components
An Introduction to Web Components
 
Polymer and web component
Polymer and web componentPolymer and web component
Polymer and web component
 
Cultura Digital Paradigma
Cultura Digital ParadigmaCultura Digital Paradigma
Cultura Digital Paradigma
 

Similar a HTML5 Web Components

Programación básica de html5
Programación básica de html5Programación básica de html5
Programación básica de html5
Coka Medel
 
HTML5 por Gustavo Vilchez
HTML5 por Gustavo VilchezHTML5 por Gustavo Vilchez
HTML5 por Gustavo Vilchez
Gustavo
 
Proyecto de Topicos II - HTML5
Proyecto de Topicos II - HTML5Proyecto de Topicos II - HTML5
Proyecto de Topicos II - HTML5
joycesita
 

Similar a HTML5 Web Components (20)

Semana 2 Arquitectura web y HTML 5
Semana 2   Arquitectura web y HTML 5Semana 2   Arquitectura web y HTML 5
Semana 2 Arquitectura web y HTML 5
 
Nuevo Html5 ..
Nuevo Html5 ..Nuevo Html5 ..
Nuevo Html5 ..
 
Articulo
ArticuloArticulo
Articulo
 
Html5
Html5Html5
Html5
 
Manual de HTML5 en español
Manual de HTML5 en españolManual de HTML5 en español
Manual de HTML5 en español
 
5321
53215321
5321
 
Html5
Html5Html5
Html5
 
Manual html5
Manual html5Manual html5
Manual html5
 
curso html
curso htmlcurso html
curso html
 
Html5
Html5Html5
Html5
 
Html5
Html5Html5
Html5
 
FELIPE MASSONE MANUAL HTML5 ESPAÑOL
FELIPE MASSONE MANUAL HTML5 ESPAÑOLFELIPE MASSONE MANUAL HTML5 ESPAÑOL
FELIPE MASSONE MANUAL HTML5 ESPAÑOL
 
Archivo de-educacion
Archivo de-educacionArchivo de-educacion
Archivo de-educacion
 
Programación básica de html5
Programación básica de html5Programación básica de html5
Programación básica de html5
 
HTML5 por Gustavo Vilchez
HTML5 por Gustavo VilchezHTML5 por Gustavo Vilchez
HTML5 por Gustavo Vilchez
 
HTML5 en Acción
HTML5 en AcciónHTML5 en Acción
HTML5 en Acción
 
HTML5
HTML5HTML5
HTML5
 
Introducción a HTML5 para todos los públicos (UTAD, june 2013)
Introducción a HTML5 para todos los públicos (UTAD, june 2013)Introducción a HTML5 para todos los públicos (UTAD, june 2013)
Introducción a HTML5 para todos los públicos (UTAD, june 2013)
 
Introducción HTML5 y CSS3
Introducción HTML5 y CSS3Introducción HTML5 y CSS3
Introducción HTML5 y CSS3
 
Proyecto de Topicos II - HTML5
Proyecto de Topicos II - HTML5Proyecto de Topicos II - HTML5
Proyecto de Topicos II - HTML5
 

Más de Paradigma Digital

Más de Paradigma Digital (14)

Ddd + ah + microservicios
Ddd + ah + microserviciosDdd + ah + microservicios
Ddd + ah + microservicios
 
Bots 3.0: Dejando atrás los bots conversacionales con Dialogflow.
Bots 3.0: Dejando atrás los bots conversacionales con Dialogflow.Bots 3.0: Dejando atrás los bots conversacionales con Dialogflow.
Bots 3.0: Dejando atrás los bots conversacionales con Dialogflow.
 
Have you met Istio?
Have you met Istio?Have you met Istio?
Have you met Istio?
 
Linkerd a fondo
Linkerd a fondoLinkerd a fondo
Linkerd a fondo
 
Horneando apis
Horneando apisHorneando apis
Horneando apis
 
Java 8 time to join the future
Java 8  time to join the futureJava 8  time to join the future
Java 8 time to join the future
 
Programación Reactiva con Spring WebFlux
Programación Reactiva con Spring WebFluxProgramación Reactiva con Spring WebFlux
Programación Reactiva con Spring WebFlux
 
Orquestando microservicios como lo hace Netflix
Orquestando microservicios como lo hace NetflixOrquestando microservicios como lo hace Netflix
Orquestando microservicios como lo hace Netflix
 
Meetup microservicios: API Management
Meetup microservicios: API ManagementMeetup microservicios: API Management
Meetup microservicios: API Management
 
Meetup de kubernetes, conceptos básicos.
Meetup  de kubernetes, conceptos básicos.Meetup  de kubernetes, conceptos básicos.
Meetup de kubernetes, conceptos básicos.
 
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptxDocker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
 
Implementando microservicios
Implementando microserviciosImplementando microservicios
Implementando microservicios
 
Equipo de Marketing de Paradigma Digital
Equipo de Marketing de Paradigma DigitalEquipo de Marketing de Paradigma Digital
Equipo de Marketing de Paradigma Digital
 
Seminario Apache Solr
Seminario Apache SolrSeminario Apache Solr
Seminario Apache Solr
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (10)

Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 

HTML5 Web Components

  • 1. HTML5 Web Components Madrid – 21 HTML 5 y Web 22 Components de Noviembre de 2014
  • 2. HTML 5 Web Components Índice 1. Introducción 2. Custom Tags 3. Shadow Dom 4. Templates 5. HTML Imports 6. Compatibilidad Autor Luis Calvo Díaz Senior Front Developer en Paradigma Tecnológico @LuisCalvoDiaz
  • 3. HTML 5 Web Components Introducción Creados a través de una etiqueta (tag) Incluyen un comportamiento definido Incluyen una forma de visualización
  • 4. HTML 5 Web Components Introducción
  • 5. HTML 5 Web Components Introducción
  • 6. HTML 5 Web Components Introducción
  • 7. HTML 5 Web Components
  • 8. HTML 5 Web Components Introducción
  • 9. HTML 5 Web Components Custo ms Tags HTML Import s Templa tes Shado w DOM
  • 10. Customs Tags HTML 5 Web Components HTML 5 Web Components 2
  • 11. <mi-nuevo-tag></mi-nuevo-tag> HTML 5 Web Components Custom Tags Permite a los desarrolladores definir nuevos elementos HTML El nombre del custom tag debe contener al menos un guión (-)
  • 12. HTML 5 Web Components Custom Tags Permite crear nuevos elementos que extienden de otros elementos <button is=“mi-nuevo-boton”></button> https://developer.mozilla.org/en-US/docs/Web/API
  • 13. Eventos HTML 5 Web Components Custom Tags o createdCallback se ha creado una instancia del elemento o attachedCallback se ha insertado una instancia del elemento o detachedCallback se ha eliminado una instancia del elemento o attributeChangedCallback(attrName, oldVal, newVal)
  • 14. HTML 5 Web Components Custom Tags Dando estilo
  • 15. Shadow DOM HTML 5 Web Components HTML 5 Web Components 3
  • 16. HTML 5 Web Components Shadow DOM Docume nt Hij o Hij o Hij o Hij o Hij o Hij o
  • 17. Shadow DOM give us markup encapsulation, style boundaries, and exposes (to web developers) the same mechanics browser vendors have been using to implement their internal UI HTML 5 Web Components Shadow DOM
  • 18. HTML 5 Web Components Shadow DOM Docume nt Hij o Hij o Shadow host Hij o Shadow root Hij o Shadow Tree Document Tree
  • 19. Templates HTML 5 Web Components HTML 5 Web Components 4
  • 20. HTML 5 Web Components Templates <script type="text/template" id="template1"> <li><%name%></li> </script> <script type="text/x-handlebars-template" id="template2"> <li>{{name}}</li> </script>
  • 21. <template id="template1"> <li>Contenido</li> HTML 5 Web Components </template> Templates El contenido de un template está “inerte” hasta que se activa (scripts, imágenes, audio/vídeo) El template puede colocarse en cualquier parte y puede contener cualquier tipo de contenido
  • 22. HTML Imports HTML 5 Web Components HTML 5 Web Components 5
  • 23. HTML 5 Web Components HTML Imports <ifram e> <iframe src=“miNuevaPagina.html”></ifram e> AJAX var xhr = new XM LH ttpRequest(); xhr.open('G ET', m iNuevaPagina.htm l', true); xhr.responseType = 'docum ent'; Trabajar con HTML, el componente básico de la web requiere una gran cantidad de esfuerzo <script src> <link rel=“stylesheet”> <video <audio > > <img>
  • 24. HTML 5 Web Components HTML Imports <head> <link rel="import" href="/path/to/imports/stuff.html"> <!– Documentos en otro dominio necesitan CORS-enabled. --> <link rel="import" href=“http://example.com/elements.html”> </head>
  • 25. var link = document.createElement('link'); link.rel = 'import'; link.href = 'file.html' link.onload = function(e) {...}; link.onerror = function(e) {...}; document.head.appendChild(link); HTML 5 Web Components HTML Imports
  • 26. Soporte en navegadores HTML 5 Web Components
  • 27. HTML 5 Web Components Recursos Webcomponents.org -> http://webcomponents.org/ Polymer -> https://www.polymer-project.org/ X-Tag -> http://x-tags.org/ Galeria de Web Components http://customelements.io/ http://component.kitchen/ http://builtwithpolymer.org/