fbpx
Wikipedia

Componentes web

Los componentes web son un conjunto de características que actualmente están siendo añadidas por el W3C a las especificaciones HTML y DOM de forma que permite la creación de widgets o componentes reutilizables en documentos y aplicaciones web.[1]​ La intención de estos componentes es traer la ingeniería basada en componentes a la World Wide Web. El modelo de componentes permite la encapsulación e interoperabilidad de elementos de HTML individuales.[cita requerida]

Las principales características de los componentes web son 4 y pueden utilizarse juntas o por separado:

  • Elementos personalizados - APIs para definir elementos HTML nuevos.
  • Sombra DOM - DOM y estilos encapsulados, con composición.
  • Importaciones de HTML - Métodos declarativos para importar documentos HTML a otros documentos.
  • Plantillas de HTML - El elemento <template> que permite que los documentos contengan trozos inertes del DOM.

Características

Elementos personalizados

Hay dos tipos de elementos personalizados: autónomos e integrados. Los elementos personalizados autónomos son elementos HTML completamente diferenciados de los elementos HTML nativos, se construyen esencialmente desde abajo hacia arriba utilizando la API de elementos personalizados. Los elementos personalizados integrados son elementos que se construyen sobre elementos HTML nativos para reutilizar su funcionalidad.[2]

Shadow DOM

Shadow DOM es una funcionalidad que permite al navegador web renderizar elementos DOM sin necesidad de insertarlos en el árbol principal DOM del documento. Esto crea una barrera entre lo que el desarrollador y el navegador pueden alcanzar; el desarrollador no puede acceder al Shadow DOM de la misma manera que lo haría con los elementos anidados, mientras que el navegador puede renderizar y modificar ese código de la misma manera que lo haría con los elementos anidados. La consecuencia de esto es que para el CSS incluido en el shadow DOM de un elemento en particular los elementos HTML pueden ser encapsulados sin el riesgo de que los estilos CSS se filtren y afecten a los elementos que no se suponía que afectaran. Aunque estos elementos están encapsulados en HTML y CSS, todavía pueden disparar eventos que pueden ser recogidos por otros elementos del documento.[3][4]

El subárbol incluido en un elemento se llama shadow tree. El elemento al que se adjunta el Shadow tree es un Shadow host.

Shadow DOM siempre debe estar conectado a un elemento existente, ya sea adjuntandolo como elemento literal o mediante scripting. En JavaScript, el Shadow DOM se une a un elemento utilizando Element. attachShadow ().[5]

La capacidad de incluir HTML y CSS es esencial para la creación de elementos personalizados. Si el shadow DOM no existiese, diferentes elementos personalizados externos podrían interactuar de forma indeseada.

Importar HTML

HTML import es una herramienta para incluir documentos HTML y componentes web de fuentes externas sin necesidad de utilizar peticiones AJAX y métodos similares.[6]

La sintaxis para hacer una importación HTML es la siguiente:

<link rel="import" href="mydocument.html"> 

Para evitar cargar y ejecutar dos veces los scripts que se introducen a través de las importaciones, la importación HTML omite cargar y ejecutar archivos previamente cargados.[7]

Mozilla Firefox no tiene soporte para importación de HTML y no pretende implementarlo.[8][9]

La importación HTML también está relacionada con la idea inicial en el desarrollo del hipertexto llamada Transclusión, donde todo o parte de un documento se inserta en otro por referencia.

Plantillas HTML

La plantilla HTML es una forma de crear fragmentos de inserción de HTML que se usan a voluntad. La sintaxis de las plantillas HTML tiene este aspecto:

 
<html> <template> <p>The HTML you wish to instantiate on will</p> </template> </html> 

Los scripts no se ejecutarán, y los recursos que están dentro de una plantilla no serán recuperados hasta que la plantilla sea eliminada.[10]

Soporte del navegador

Las plantillas HTML tienen soporte en Google Chrome, Mozilla Firefox, Edge de Microsoft, Safari, y Ópera.[11]

La compatibilidad con la versión inicial de elementos personalizados y Shadow DOM, conocida como "v0", está presente en algunos navegadores basados en Blink como Google Chrome y Opera, y en Mozilla Firefox (requiere un cambio de configuración manual). Los nuevos elementos personalizados y las APIs "v1" de Shadow DOM están siendo implementadas en Safari 10,[12]​ Google Chrome (53.0.2785), y en desarrollo en Mozilla Firefox. Microsoft Edge aún no ha comenzado a implementar Custom Elements o Shadow DOM.[13]

La compatibilidad con navegadores más antiguos está implementada utilizando Polyfills basado en JavaScript.

Bibliotecas

Hay varias librerías que están construidas sobre componentes web con el objetivo de aumentar el nivel de abstracción al crear elementos personalizados. Cuatro de las bibliotecas más importantes son: X-Tag, Slim.js, Polymer y Bosonic.

Dos de ellos, Bosonic y Polymer, proporcionan componentes listos para usar. Estos componentes se pueden utilizar indistintamente, ya que todos ellos están construidos con tecnologías web abiertas.[14]

Historia

Los componentes web fueron introducidos por Alex Russell en la conferencia Fronteers Conference de 2011.[15]

Polymer, una biblioteca basada en componentes web, fue liberada por Google en 2013.[9]

Referencias

  1. «Web Components Current Status - W3C». 
  2. «Custom Elements». www.w3.org. Consultado el 1 de diciembre de 2016. 
  3. «What the Heck is Shadow DOM?». Dimitri Glazkov. 15 de enero de 2011. Consultado el 1 de diciembre de 2016. 
  4. «Shadow DOM v1: Self-Contained Web Components | Web | Google Developers». Google Developers (en inglés). Consultado el 1 de diciembre de 2016. 
  5. «Shadow DOM». Mozilla Developer Network. Consultado el 1 de diciembre de 2016. 
  6. «HTML Imports». www.w3.org. Consultado el 2 de diciembre de 2016. 
  7. Community. «Introduction to HTML Imports — WebComponents.org». webcomponents.org. Consultado el 2 de diciembre de 2016. 
  8. «Mozilla and Web Components: Update ★ Mozilla Hacks – the Web developer blog». hacks.mozilla.org. Consultado el 2 de diciembre de 2016. 
  9. «The state of Web Components ★ Mozilla Hacks – the Web developer blog». hacks.mozilla.org. Consultado el 2 de diciembre de 2016. 
  10. Community. «Introduction to the template elements — WebComponents.org». webcomponents.org. Consultado el 3 de diciembre de 2016. 
  11. «Can I use... Support tables for HTML5, CSS3, etc». 
  12. «What's New in Safari». Apple Inc. Consultado el 21 de junio de 2016. 
  13. «Are We Componentized Yet?». 
  14. «Web Components in production use – are we there yet?». vaadin.com (en inglés estadounidense). Consultado el 21 de noviembre de 2016. 
  15. «Web Components and Model Driven Views by Alex Russell · Fronteers». fronteers.nl. Consultado el 2 de diciembre de 2016. 

Enlaces externos

  • Webcomponents.org
  • slim.js Biblioteca
  •   Datos: Q18217380

componentes, componentes, conjunto, características, actualmente, están, siendo, añadidas, especificaciones, html, forma, permite, creación, widgets, componentes, reutilizables, documentos, aplicaciones, intención, estos, componentes, traer, ingeniería, basada. Los componentes web son un conjunto de caracteristicas que actualmente estan siendo anadidas por el W3C a las especificaciones HTML y DOM de forma que permite la creacion de widgets o componentes reutilizables en documentos y aplicaciones web 1 La intencion de estos componentes es traer la ingenieria basada en componentes a la World Wide Web El modelo de componentes permite la encapsulacion e interoperabilidad de elementos de HTML individuales cita requerida Las principales caracteristicas de los componentes web son 4 y pueden utilizarse juntas o por separado Elementos personalizados APIs para definir elementos HTML nuevos Sombra DOM DOM y estilos encapsulados con composicion Importaciones de HTML Metodos declarativos para importar documentos HTML a otros documentos Plantillas de HTML El elemento lt template gt que permite que los documentos contengan trozos inertes del DOM Indice 1 Caracteristicas 1 1 Elementos personalizados 1 2 Shadow DOM 1 3 Importar HTML 1 4 Plantillas HTML 2 Soporte del navegador 3 Bibliotecas 4 Historia 5 Referencias 6 Enlaces externosCaracteristicas EditarElementos personalizados Editar Hay dos tipos de elementos personalizados autonomos e integrados Los elementos personalizados autonomos son elementos HTML completamente diferenciados de los elementos HTML nativos se construyen esencialmente desde abajo hacia arriba utilizando la API de elementos personalizados Los elementos personalizados integrados son elementos que se construyen sobre elementos HTML nativos para reutilizar su funcionalidad 2 Shadow DOM Editar Shadow DOM es una funcionalidad que permite al navegador web renderizar elementos DOM sin necesidad de insertarlos en el arbol principal DOM del documento Esto crea una barrera entre lo que el desarrollador y el navegador pueden alcanzar el desarrollador no puede acceder al Shadow DOM de la misma manera que lo haria con los elementos anidados mientras que el navegador puede renderizar y modificar ese codigo de la misma manera que lo haria con los elementos anidados La consecuencia de esto es que para el CSS incluido en el shadow DOM de un elemento en particular los elementos HTML pueden ser encapsulados sin el riesgo de que los estilos CSS se filtren y afecten a los elementos que no se suponia que afectaran Aunque estos elementos estan encapsulados en HTML y CSS todavia pueden disparar eventos que pueden ser recogidos por otros elementos del documento 3 4 El subarbol incluido en un elemento se llama shadow tree El elemento al que se adjunta el Shadow tree es un Shadow host Shadow DOM siempre debe estar conectado a un elemento existente ya sea adjuntandolo como elemento literal o mediante scripting En JavaScript el Shadow DOM se une a un elemento utilizando Element attachShadow 5 La capacidad de incluir HTML y CSS es esencial para la creacion de elementos personalizados Si el shadow DOM no existiese diferentes elementos personalizados externos podrian interactuar de forma indeseada Importar HTML Editar HTML import es una herramienta para incluir documentos HTML y componentes web de fuentes externas sin necesidad de utilizar peticiones AJAX y metodos similares 6 La sintaxis para hacer una importacion HTML es la siguiente lt link rel import href mydocument html gt Para evitar cargar y ejecutar dos veces los scripts que se introducen a traves de las importaciones la importacion HTML omite cargar y ejecutar archivos previamente cargados 7 Mozilla Firefox no tiene soporte para importacion de HTML y no pretende implementarlo 8 9 La importacion HTML tambien esta relacionada con la idea inicial en el desarrollo del hipertexto llamada Transclusion donde todo o parte de un documento se inserta en otro por referencia Plantillas HTML Editar La plantilla HTML es una forma de crear fragmentos de insercion de HTML que se usan a voluntad La sintaxis de las plantillas HTML tiene este aspecto lt html gt lt template gt lt p gt The HTML you wish to instantiate on will lt p gt lt template gt lt html gt Los scripts no se ejecutaran y los recursos que estan dentro de una plantilla no seran recuperados hasta que la plantilla sea eliminada 10 Soporte del navegador EditarLas plantillas HTML tienen soporte en Google Chrome Mozilla Firefox Edge de Microsoft Safari y opera 11 La compatibilidad con la version inicial de elementos personalizados y Shadow DOM conocida como v0 esta presente en algunos navegadores basados en Blink como Google Chrome y Opera y en Mozilla Firefox requiere un cambio de configuracion manual Los nuevos elementos personalizados y las APIs v1 de Shadow DOM estan siendo implementadas en Safari 10 12 Google Chrome 53 0 2785 y en desarrollo en Mozilla Firefox Microsoft Edge aun no ha comenzado a implementar Custom Elements o Shadow DOM 13 La compatibilidad con navegadores mas antiguos esta implementada utilizando Polyfills basado en JavaScript Bibliotecas EditarHay varias librerias que estan construidas sobre componentes web con el objetivo de aumentar el nivel de abstraccion al crear elementos personalizados Cuatro de las bibliotecas mas importantes son X Tag Slim js Polymer y Bosonic Dos de ellos Bosonic y Polymer proporcionan componentes listos para usar Estos componentes se pueden utilizar indistintamente ya que todos ellos estan construidos con tecnologias web abiertas 14 Historia EditarLos componentes web fueron introducidos por Alex Russell en la conferencia Fronteers Conference de 2011 15 Polymer una biblioteca basada en componentes web fue liberada por Google en 2013 9 Referencias Editar Web Components Current Status W3C Custom Elements www w3 org Consultado el 1 de diciembre de 2016 What the Heck is Shadow DOM Dimitri Glazkov 15 de enero de 2011 Consultado el 1 de diciembre de 2016 Shadow DOM v1 Self Contained Web Components Web Google Developers Google Developers en ingles Consultado el 1 de diciembre de 2016 Shadow DOM Mozilla Developer Network Consultado el 1 de diciembre de 2016 HTML Imports www w3 org Consultado el 2 de diciembre de 2016 Community Introduction to HTML Imports WebComponents org webcomponents org Consultado el 2 de diciembre de 2016 Mozilla and Web Components Update Mozilla Hacks the Web developer blog hacks mozilla org Consultado el 2 de diciembre de 2016 a b The state of Web Components Mozilla Hacks the Web developer blog hacks mozilla org Consultado el 2 de diciembre de 2016 Community Introduction to the template elements WebComponents org webcomponents org Consultado el 3 de diciembre de 2016 Can I use Support tables for HTML5 CSS3 etc What s New in Safari Apple Inc Consultado el 21 de junio de 2016 Are We Componentized Yet Web Components in production use are we there yet vaadin com en ingles estadounidense Consultado el 21 de noviembre de 2016 Web Components and Model Driven Views by Alex Russell Fronteers fronteers nl Consultado el 2 de diciembre de 2016 Enlaces externos EditarWebcomponents org slim js Biblioteca Datos Q18217380Obtenido de https es wikipedia org w index php title Componentes web amp oldid 130296495, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos