Lo Bueno, Lo Malo, y Los Componentes Web

Rate this content
Bookmark

No ha habido escasez de críticas justas e injustas hacia los Componentes Web de una amplia gama de personas que construyen para la web, incluyendo pero no limitado a los autores de Frameworks de JavaScript en supuesta competencia con la plataforma. En esta charla te mostraré cómo navegar y simplificar el multifacético paisaje de los componentes web, satisfaciendo las críticas comunes y mostrando cómo puedes Usar la Plataforma de manera más efectiva hoy en día.

FAQ

Los Web Components son piezas de interfaz de usuario reutilizables, habilitadas por los estándares web y están incorporados en la plataforma web, proporcionados gratuitamente por los navegadores web. Permiten inicializar componentes más rápido y funcionar con menos sobrecarga de biblioteca.

Para crear un Web Component, se define un nombre de etiqueta asociado a una clase mediante el registro de elementos personalizados. Cuando el navegador encuentra esta etiqueta en la página, el elemento será mejorado o 'hidratado' usando estándares web sin necesidad de existir en la carga inicial de la página.

Las principales ventajas de usar Web Components incluyen la reutilización de código, la portabilidad entre diferentes proyectos y la incorporación en la plataforma web que reduce la necesidad de bibliotecas adicionales. Además, son populares en sistemas de diseño debido a su facilidad de uso y mantenimiento.

Empresas como Microsoft, Google, IBM, Salesforce y GitHub utilizan Web Components. Por ejemplo, Microsoft ha construido MSN con Web Components y Google usa diseño material exportado a Web Components.

Shadow DOM es una técnica que permite encapsular el estilo y el marcado en Web Components, proporcionando aislamiento del estilo, lo que significa que los estilos definidos dentro del componente no afectan al resto de la página, y viceversa.

El Declarative Shadow DOM es una especificación que permite definir la estructura y el contenido del Shadow DOM de manera declarativa directamente en el HTML, facilitando la carga del componente sin depender exclusivamente de JavaScript.

El guion en los nombres de los Web Components es necesario para evitar conflictos con las etiquetas HTML existentes y futuras, ya que el W3C y WHATWG han declarado que no crearán etiquetas HTML que contengan guiones en sus nombres.

Zach Leatherman
Zach Leatherman
29 min
01 Jun, 2023

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Los Componentes Web son una pieza de UI reutilizable habilitada por los estándares web e incorporada en la plataforma web. Ofrecen el potencial para una inicialización de componentes más rápida y menos sobrecarga de biblioteca. Los Componentes Web pueden ser creados desde cero y utilizados con bibliotecas de componentes existentes. Shadow DOM y Declarative Shadow DOM proporcionan beneficios como CSS con alcance y componentes renderizados por el servidor. Se discute el equilibrio entre no repetirse y lograr un soporte completo de renderizado del lado del servidor. La experiencia del usuario se considera más importante que la experiencia del desarrollador.

1. Introducción a los Web Components

Short description:

Hoy vamos a hablar de los componentes web. Son buenos. Son malos. Esperemos que no sean feos. Aquí hay un ejemplo de un componente. Mira eso. Es un botón. Tenemos nuestro agradable JavaScript en la parte superior. Tenemos nuestro JSX en la parte inferior. Algunos de ustedes podrían estar familiarizados con el ejemplo de donde proviene. Es de Vercell.js. Existen un montón de abstracciones de componentes en este espacio. Pero hoy quiero hablarles sobre los Web Components.

¿Cómo está todo el mundo? ¿Tienen café? Bruce, supongo que somos viejos amigos. Genial. Es estupendo escuchar eso. Bueno, realmente no se podía decir por esa introducción, pero está bien. Bruce y yo nos llevamos muy bien.

Muy bien. Así que hoy vamos a hablar sobre web components. Son buenos. Son malos. Esperemos que no sean feos. Entonces, sí. Web components. Animations. Hay que amarlo. Web components, ¿verdad? No tengo que convencerlos a todos de que los componentes son buenos, ¿verdad? Componentes. Yay.

Muy bien. Aquí hay un ejemplo de un componente. Mira eso. Es un botón. ¡Woo-hoo! Gracias. Ese ha sido mi tiempo. Sí. Así que tenemos nuestro agradable JavaScript en la parte superior. Tenemos nuestro JSX en la parte inferior. Esto es genial. Y algunos de ustedes podrían estar familiarizados con el ejemplo de donde proviene. Es de Vercell.js.

Entonces, si miramos algunas de las otras bibliotecas de componentes que existen ahora, hay un montón de ellas, ¿verdad? Hay un montón de abstracciones de componentes que existen en este espacio. Pero hoy quiero hablarles sobre Web Components.

2. Web Components y Sistemas de Diseño

Short description:

Los Web Components son una pieza de UI reutilizable habilitada por los estándares web y construida en la plataforma web. Ofrecen la posibilidad de una inicialización de componentes más rápida y menos sobrecarga de biblioteca. Ejemplos de Web Components en uso incluyen MSN, diseño material y Adobe Photoshop en la web. Según las estadísticas web de Google Chrome, casi el 19 por ciento de las cargas de páginas en el navegador utilizan Web Components.

Entonces, un Web Component es una pieza de UI reutilizable, está habilitado por los web standards. Está incorporado en la plataforma web. Te lo proporcionan gratis los navegadores web. Y realmente el beneficio aquí es que tienes la posibilidad de inicializar tus componentes más rápido y funcionar con menos sobrecarga de biblioteca, lo cual es genial.

Como Bruce presentó, mi nombre es Zach. Blogueo en zackleet.com. Construí Eleventy, que es un generador de sitios estáticos. Y trabajo en Netlify. Y solo para convencerte de que los Web Components son algo que deberías tener en cuenta, te voy a mostrar algunos ejemplos. Hurra. Esto es presión de grupo. Esto es prueba social. Y después de estas cuatro o cinco diapositivas, todos estarán convencidos de que los Web Components son asombrosos. Así que vamos a ello.

Los Web Components, realmente el pan y la mantequilla de los Web Components en este momento son los sistemas de diseño. A la gente le encanta la portabilidad de los Web Components. Les encanta que estén incorporados en la plataforma. Y eso es realmente donde verás la mayoría de los ejemplos de ellos en la naturaleza. Microsoft construyó MSN con Web Components. VMware tiene un bonito sistema de diseño. Google tiene diseño material que se exporta a Web Components. IBM tiene uno, Salesforce. Mi favorito personal, Nord Health construido con 11-D es un muy buen ejemplo de eso. GitHub usa Web Components. Adobe realmente trajo Photoshop a la Web con Web Components usando Lit, lo cual creo que es genial. Y eso está usando Spectrum Web Components que es un envoltorio alrededor de Lit. ¿Son los Web Components una cosa? Mira todos estos logos, logos, logos, logos. Nos encantan los logos. ¿Eso realmente nos convence de que las cosas son buenas? Sí, creo que sí. Si vas a las estadísticas web de Google Chrome, tienen hasta abril de este año, medido que el 18, casi el 19 por ciento de las cargas de páginas en el navegador web de Google Chrome son propiedades que utilizan Web Components.

QnA

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Es hora de desfragmentar la web
React Day Berlin 2022React Day Berlin 2022
34 min
Es hora de desfragmentar la web
Top Content
A lo largo de los últimos años, el número de frameworks web disponibles para nosotros ha explotado. En cierto modo, la amplitud de elección es una clara victoria para nuestro ecosistema. Sin embargo, para muchos de nosotros, también viene con severas desventajas: - ¿Alguna vez has usado un componente de código abierto popular construido para el framework A, y deseaste que existiera en el framework B? ¿Qué tal una biblioteca de sistema de diseño? - ¿Tu empresa tiene frontends construidos en diferentes frameworks, y tus equipos web están frustrados por las horas perdidas necesarias para lograr un sistema de diseño consistente? - ¿Tu equipo construye SDKs para frameworks web, y debe reescribirlos manualmente para cada framework? La solución a estos 3 problemas existe hoy. Para entenderla completamente, primero debemos examinar los frameworks web de hoy, repensar cómo debería ser un componente, e introducir una nueva Representación Intermedia de nuestros componentes. Esto es lo que hemos hecho en Builder.io cuando creamos Mitosis, y estamos emocionados de compartirlo con todos.
Componentes Web, Lit y Santa 🎅
JSNation Live 2021JSNation Live 2021
28 min
Componentes Web, Lit y Santa 🎅
Comienza con los Componentes Web, que te permiten definir nuevos elementos HTML que funcionan en todas partes donde funciona el HTML regular. Esta charla se centrará en Lit, una suite de Google que te ayuda a crear Componentes Web con características que esperarías, como la vinculación de datos y definiciones declarativas. También se hablará de cómo los hemos utilizado para construir uno de los sitios más alegres de la web, el Rastreador de Santa de Google 🎅
Autoría de HTML en un Mundo JavaScript
React Summit US 2023React Summit US 2023
21 min
Autoría de HTML en un Mundo JavaScript
En esta charla, Tony muestra cómo un enfoque de autoría y HTML semántico primero para el trabajo de plantillas JSX conduce a componentes de interfaz de usuario más legibles, mantenibles y accesibles. Demuestra cómo pensar en implementar un prototipo de interfaz de usuario de una manera semántica, autoría de HTML antes de los visuales. Muestra cómo el marcado accesible mejora el rendimiento, reduce el tamaño del DOM, minimiza el tiempo dedicado a CSS y reduce la carga cognitiva no solo para los desarrolladores, sino también para todos nuestros usuarios, sin importar cómo consuman nuestros sitios y aplicaciones.
Aplicaciones Web Inmutables
JSNation 2022JSNation 2022
20 min
Aplicaciones Web Inmutables
Resolver las dependencias cuando están todas agrupadas es fácil. Resolver las dependencias cuando se cargan a través de etiquetas de script es mucho más desafiante. El objetivo de esta charla es explicar cómo Meltwater maneja la resolución de dependencias al construir aplicaciones nativas basadas en componentes web que dependen de paquetes publicados por muchos equipos diferentes.
¡Los componentes web son increíbles!
JSNation 2022JSNation 2022
10 min
¡Los componentes web son increíbles!
¿Alguna vez te has preguntado cómo al colocar "video" o "audio" en tu HTML obtienes un reproductor multimedia con controles incluidos? ¿O cómo, dependiendo del atributo de tipo, "input" puede ser un botón, un lugar para ingresar texto, seleccionar una fecha o archivo, selector de color y más? ¿Qué tal si pudieras crear tu propio elemento? La respuesta: ¡Componentes web! 🤯 En esta charla, veremos qué son los componentes web, cómo crear uno e incluirlo en una aplicación.
Hablemos de los Componentes Web
React Advanced Conference 2021React Advanced Conference 2021
32 min
Hablemos de los Componentes Web
Antes del surgimiento de algunos de los frameworks más populares (léase: React y Vue), existían los componentes web. Los Componentes Web toman una de las mejores partes de estos frameworks (componentes reutilizables) y los combinan con las mejores partes del desarrollo web (soporte nativo del navegador y no necesidad de configurar un proceso de compilación). Y por si eso no fuera suficiente, los componentes web te permiten usar las mismas funciones en cualquier framework.Si en este punto te estás preguntando "Si los componentes web son tan increíbles, ¿por qué no he oído hablar de ellos antes?", entonces estás de suerte porque eso es exactamente de lo que trata esta charla.En esta presentación, echaremos un vistazo a qué son los componentes web, por qué son geniales, por qué pueden ser un dolor de cabeza y cómo podemos utilizar los componentes web tanto como una herramienta independiente como junto con los frameworks.

Workshops on related topic

Despliega una aplicación de componentes web y configura un flujo de integración continua
DevOps.js Conf 2022DevOps.js Conf 2022
111 min
Despliega una aplicación de componentes web y configura un flujo de integración continua
Workshop
Philippe Ozil
Philippe Ozil
Únete a nosotros en un masterclass en el que desplegarás una aplicación Node.js simple construida con componentes web y configurarás un flujo de integración continua (CI). Aprenderás sobre el poder del Lightning Web Runtime (LWR) y las GitHub Actions.
Componentes Web en Acción
JSNation Live 2021JSNation Live 2021
184 min
Componentes Web en Acción
Workshop
Joren Broekema
Alex Korzhikov
2 authors
El masterclass amplía el conocimiento del lenguaje de programación JavaScript, revisa los patrones generales de diseño de software. Se centra en los estándares y tecnologías de los Componentes Web, como Lit-HTML y Lit-Element. También practicamos la escritura de Componentes Web tanto con JavaScript nativo como con Lit-Element. Al final, revisamos las herramientas clave para desarrollar una aplicación: open-wc.