Cómo crear tus propios elementos HTML con componentes web

Actualmente se habla de los componentes web y con entusiasmo como un próximo "cambio tectónico para el desarrollo web" con la promesa de remodelar permanentemente el panorama del diseño web. Los grandes jugadores están avanzando para hacer realidad los componentes web. Tanto Google como Mozilla ya están implementando gradualmente la compatibilidad con navegadores nativos.

¿Qué componentes web pides? En pocas palabras, los componentes web le brindan una manera de crear sus propios elementos HTML personalizados que pueden hacer casi cualquier cosa que necesite. En lugar de cargar sus sitios con marcado detallado, secuencias de comandos largas y código repetitivo, envuelve todo en pequeños elementos HTML personalizados y ordenados..

Entender los componentes web

La forma más fácil de entender cómo los componentes web permiten elementos HTML personalizados es mirar primero un elemento existente que ya conocemos de HTML5: el etiqueta. Usando este elemento, puede colocar un video con solo unas pocas líneas de código, por ejemplo:

Es posible que solo vea algunas líneas de HTML arriba, pero esto es lo que El elemento realmente se ve detrás de las escenas:

De manera predeterminada, el navegador oculta todo ese código detallado para que no necesite verlo o preocuparse por escribirlo cuando quiera colocar un video. Solo golpeas en tu y etiquetas y ya estás en marcha. 

Anteriormente, solo los proveedores de navegadores podían crear elementos de esta manera. Pero imagínate si pudieras utilizar este mismo enfoque con otros tipos de contenido.? 

Tome una presentación de imágenes, por ejemplo. Por lo general, necesitaría algunas rondas de divs anidados con nombres de clase específicos para envolver la presentación de diapositivas, envolver cada diapositiva y agregar leyendas y miniaturas. También necesitaría configurar cualquier opción de presentación de diapositivas general para cosas como efectos de transición de diapositivas a través de algunos jQuery / JavaScript en línea.

¿Qué pasaría si pudiera omitir todo eso y en su lugar simplemente utilizar:

   

Con los componentes web, eso es exactamente lo que puedes hacer.. 

Crea tus propios elementos HTML

Si desea proporcionar un método conciso y fácil de interactuar con la colocación de contenido que de otro modo estaría inflado y difícil de manejar, puede continuar y crear su propio componente web..

Los componentes web también se pueden compartir fácilmente, por lo que, a medida que los desarrolladores se unan, hay una buena opción de que solo puede tomar un componente web creado previamente para los requisitos más comunes del proyecto. Ya estamos viendo que los componentes compartidos libremente aparecen para todo, desde el reconocimiento de voz ...  

a los constructores de presentaciones ...

 a la generación de código QR.

Echemos un vistazo a lo que hay detrás de la cortina de componentes web..

Lo que hace que un componente web

Los componentes web, tal como existen en este momento, se componen de cuatro partes:

  • Elementos personalizados
  • Shadow DOM
  • Plantillas
  • Importaciones HTML

Elementos personalizados

Los elementos personalizados son exactamente como suenan: elementos que pueden ser nombrados como elijas y operan de la forma que quieras. Y cuando digo algo, realmente lo digo en serio. Por ejemplo, presento el elemento:

Demostración en vivo - pasa el ratón sobre la barra

Los elementos personalizados se declaran, en su forma más simple, así:

... 

Cuando crea un elemento personalizado, puede hacerlo completamente desde cero o puede extender un elemento HTML existente, como