Un Web Component es un elemento HTML personalizado, creado con estándares del navegador (Custom Elements, Shadow DOM y HTML Templates). Permite encapsular HTML + CSS + JS en un único bloque reutilizable, sin depender de frameworks.
¿Dónde se utiliza?
Funciona en cualquier entorno donde exista HTML:
- Aplicaciones web clásicas (PHP, Java, .NET)
- Frameworks modernos (Svelte, React, Vue, Angular)
- CMS (WordPress, Drupal)
- Apps híbridas (Electron, Ionic)
- Sistemas grandes con equipos múltiples
¿Cómo se usa en HTML?
Una vez registrado el componente, usarlo es tan simple como:
<mi-componente titulo="Hola" modo="dark"></mi-componente>
El navegador lo trata como si fuera una etiqueta nativa.
Repositorios de Web Components gratuitos
- WebComponents.org — El mayor catálogo público de Web Components. Reúne componentes de Google, Vaadin, Shoelace, FAST y cientos de desarrolladores independientes.
- Shoelace — Biblioteca moderna de componentes UI (botones, modales, tabs, formularios). 100% Web Components, sin framework y altamente personalizable.
- Vaadin Web Components — Componentes empresariales de alta calidad: grids, formularios, layouts, pickers. Muy usados en aplicaciones corporativas.
- FAST Components — Componentes de Microsoft, rápidos, accesibles y con diseño adaptable. Ideales para apps modernas.
- Elix — Componentes avanzados de UI (carousels, date pickers, menús complejos) con un enfoque en accesibilidad y rendimiento.
- PatternFly Elements — Componentes creados por Red Hat para interfaces profesionales y dashboards.
- Lion Web Components — Componentes minimalistas y accesibles creados por ING, perfectos para formularios y validación.
Objetivo
Una vez que ya sabemos cómo construir Aplicaciones en Svelte 5, analizar los cambios a realizar para desarrollar WEB Components con Svelte 5.
Las funcionalidades que deseamos comprobar:
- Integrarse en páginas HTML de aplicaciones WEB, del lenguaje PHP o ASP, etc.
- Validas para instanciarse varias veces en la misma página (ejemplo páginas de Grid).
- Poder pasar parámetros desde la aplicación WEB al inicio de la ejecución.
- Poder enviar información desde dentro a la página HTML a través de eventos.
- Poder recibir información desde dentro (Svelte 5) como evento, para su tratamiento en página HTML.
DEMO: https://fhumanes.com/pc_001
La imagen muestra un ejemplo de aplicación hecha con PHPRunner con (1) una app de Svelte 5 integrada y con (2) un Web Components hecho en Svelte 5.
Si estás interesado en el artículo, sigue leyéndolo en este enlace.