¡Los componentes web son increíbles!

Rate this content
Bookmark

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

FAQ

Los componentes web son elementos personalizados y reutilizables que puedes crear para usar en aplicaciones web. Permiten encapsular funcionalidades específicas en etiquetas HTML, similar a como funcionan las etiquetas como video o audio en HTML.

Sí, todos los navegadores modernos tienen soporte para los componentes web, lo que facilita su integración y uso en diversos proyectos web.

Muchas empresas utilizan componentes web en sus desarrollos. Por ejemplo, plataformas como YouTube y GitHub implementan estos componentes para mejorar la interactividad y la eficiencia de sus sitios web.

Puedes crear un componente web utilizando HTML, JavaScript y CSS. Herramientas como WebComponents.dev te ofrecen plantillas y un entorno de desarrollo para empezar rápidamente con componentes web.

Sí, existen varios recursos como WebComponents.org y Open Web Components que ofrecen pautas, recomendaciones y mejores prácticas, además de herramientas de línea de comandos para estructurar proyectos de componentes web.

WebComponents.dev es una plataforma que proporciona herramientas y plantillas para desarrollar y probar componentes web sin la necesidad de instalar software adicional, ayudando a los desarrolladores a crear componentes web de manera más eficiente.

Sí, los componentes web son compatibles con varios frameworks y bibliotecas modernas. Incluso hay sitios como custom-elements-everywhere.com que muestran cómo los componentes web pueden integrarse con diferentes frameworks.

Dwane Hemmings
Dwane Hemmings
10 min
16 Jun, 2022

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Los componentes web te permiten crear tus propios elementos HTML que pueden hacer cualquier cosa que desees, y son compatibles con todos los navegadores modernos. Muchas empresas, incluyendo YouTube y GitHub, utilizan componentes web para mejorar sus sitios web. Existen herramientas y bibliotecas extensas disponibles para el desarrollo de componentes web. El componente web Model Viewer permite mostrar modelos 3D en realidad virtual y aumentada sin necesidad de conocer las tecnologías subyacentes. Los componentes web se pueden utilizar con varios frameworks y bibliotecas, y existen recursos disponibles para ayudar con la compatibilidad.

Available in English: Web Components are awesome!

1. Introducción a los Componentes Web

Short description:

Hola, soy Dwayne, un defensor del desarrollo de JavaScript en Vonage, y estoy aquí para argumentar a favor de los componentes web. Los componentes web te permiten crear tus propios elementos HTML que pueden hacer cualquier cosa que desees. Son compatibles con todos los navegadores modernos y muchas empresas ya los están utilizando. Por ejemplo, YouTube y GitHub utilizan componentes web para mejorar sus sitios web. Personalmente, utilizo componentes web para ahorrar tiempo al crear sitios web y para agregar funcionalidades como mostrar datos y crear temporizadores de cuenta regresiva. La herramienta para desarrollar componentes web es amplia, con muchas bibliotecas y frameworks disponibles.

me han dado 10 minutos para argumentar por qué creo que los componentes web son increíbles.

Entonces, ¿qué son los componentes web? ¿Alguna vez has utilizado las etiquetas video, audio y/o details de HTML? ¿Alguna vez te has preguntado cómo, simplemente colocando la etiqueta con algunos atributos y propiedades, obtienes interfaces de reproductores multimedia completamente funcionales con controles de volumen, botones de reproducción y pausa, y más? ¿O un menú desplegable que funciona de inmediato? Ahora, imagina crear tu propio elemento HTML que haga lo que quieras.

¿Cómo es el soporte de los navegadores? Todos los navegadores modernos tienen soporte para los componentes web. Puede que estés pensando, suena genial y todo, pero ¿los componentes web ya son una realidad? Afortunadamente, es un sitio web. Y la respuesta es sí, eso es todo. Solo bromeo. Este sitio enumera algunas empresas que utilizan componentes web. Y como ejercicio para todos los que están viendo, a medida que hago scroll, si hay una empresa o un logotipo que reconozcas, di Ding. Aquí vamos. Es una lista larga. ¿Has visto algo ya? La lista sigue y sigue. Hay bastantes. Y esto es solo una parte de ellas. ¿Cuántas veces has dicho Ding hasta ahora? Sigue y sigue. Ahí vamos.

Ahora, aquí tienes un par de ejemplos específicos. Si ves el código fuente de YouTube, verás muchas etiquetas HTML que comienzan con YTD. YTD no es un prefijo normal para un elemento HTML, así que eso es una buena pista de que es un componente web. Ahora, cuando haces cosas como crear un repositorio, hacer push de cambios y/o fusionar PR en GitHub, puedes ver cuánto tiempo ha pasado desde tu última actividad. Esos son componentes web, y GitHub los ofrece para que todos los utilicen en sus propios proyectos. Ahora, me gusta hacer sitios web, muchos sitios web. Para cada uno, me gusta tener una página de `Acerca de` que explique quién, qué y por qué hice el sitio. Ahora, crear la página una y otra vez se convirtió en una tarea tediosa, así que creé un componente web llamado dwayne-made. Puedo obtener los datos sobre el sitio desde un punto final en el proyecto y pasarlo al componente web, y dwayne-made sabe cómo mostrar esos datos. Me ahorra mucho tiempo para centrarme en la aplicación en sí. Otra característica increíble es que un componente web puede tener múltiples usos. Por ejemplo, ¿no es genial cómo el humilde elemento HTML de entrada puede hacer tantas cosas diferentes con solo cambiar el atributo de tipo? Siguiendo esa línea, creé dwayne-timer porque estaba lidiando con muchas fechas y horas en proyectos personales y no quería lidiar con eso una y otra vez. No solo puede mostrar una fecha y hora local para el visitante del sitio, sino que también puede ser un temporizador de cuenta regresiva solo con agregar una propiedad al componente web. Ahora, las herramientas para desarrollar componentes web son bastante increíbles. Hay muchas bibliotecas y frameworks para crear componentes web.

2. Desarrollo de Componentes Web y Recursos

Short description:

¿Quieres usar TypeScript o JSX? Echa un vistazo a WebComponents.dev para obtener plantillas que te ayuden a comenzar con el desarrollo de Componentes Web. Open Web Components proporciona pautas y mejores prácticas para un desarrollo consistente. Explora WebComponents.org para encontrar soluciones existentes y añadir las tuyas propias. Crea fácilmente aplicaciones WebXR sin necesidad de tener un amplio conocimiento de tecnologías subyacentes como 3JS y Unity.

¿Quieres usar TypeScript? Hay varias bibliotecas que puedes utilizar. ¿Estás más familiarizado con JSX? No hay problema. Un buen recurso para probar estas herramientas sin tener que descargarlas es WebComponents.dev. Ahora, WebComponents.dev puede hacer muchas cosas, pero también puede proporcionarte plantillas para que puedas comenzar rápidamente con un Componente Web y ver si te gusta en cuanto a la codificación.

En este momento, hay 64 plantillas que puedes utilizar. Si estás en un equipo y quieres asegurarte de tener consistencia en todos los Componentes Web que construyas, existe Open Web Components, que proporciona pautas, recomendaciones y mejores prácticas al crear Componentes Web. También tienen una herramienta de línea de comandos (CLI) que generará la estructura de archivos y carpetas de un proyecto para que todos los Componentes Web tengan la misma estructura, lo que facilita que cada miembro del equipo se ponga al día con un componente que nunca antes haya visto, sabiendo dónde buscar.

El hecho de que haya tantas personas trabajando en Componentes Web significa que probablemente ya haya algo construido que sea similar a lo que estás buscando. No es necesario empezar desde cero, lo cual es genial. WebComponents.org es un buen lugar para comenzar a ver qué hay disponible e incluso añadir tus propios componentes a la lista. Soy un gran fan de WebXR, la Realidad Aumentada y Virtual en la Web, y siempre he querido crear una aplicación, pero no tenía suficiente experiencia para crear algo desde cero sin estudiar una larga lista de diferentes tecnologías como 3JS, software de modelado 3D como Unity y mucho más.

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

Lo Bueno, Lo Malo, y Los Componentes Web
JSNation 2023JSNation 2023
29 min
Lo Bueno, Lo Malo, y Los Componentes Web
Top Content
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.
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.
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.