2 puntos por GN⁺ 2024-10-01 | 1 comentarios | Compartir por WhatsApp

Los web components están bien

  • La comunidad de desarrollo web suele debatir sobre los web components
  • Ryan Carniato escribió "Web Components Are Not the Future" y Cory LaViska respondió con "Web Components Are Not the Future — They’re the Present"
  • El autor intenta resolver este debate de forma pacífica

Rendimiento

  • Los web components se basan en Custom Elements, por lo que toda la interfaz se maneja a través del DOM
  • Minimizar los nodos del DOM es clave para optimizar el rendimiento
  • Pero el rendimiento no lo es todo; también hay que considerar otros factores como mantenibilidad, seguridad, usabilidad y accesibilidad
  • Por ejemplo, no renderizar atributos aria-* puede mejorar el rendimiento, pero son indispensables para la accesibilidad
  • La optimización del rendimiento es importante, pero en la práctica problemas más simples como el layout thrashing, los network waterfalls y los rerenders innecesarios suelen tener un impacto mayor

El costo de los estándares

  • Soportar estándares requiere escribir y ejecutar código adicional
  • Sin embargo, dar soporte a web components no representa una gran carga
  • Considerar nuevas funciones de la plataforma web es algo natural, y esto también aplica a Symbols, Proxys y Promises
  • Es posible que una parte de la comunidad de desarrollo web no quiera dar soporte a los web components, y eso está bien
  • La web es una gran carpa que permite enfoques diversos

Conclusión

  • Los web components no son un problema en sí mismos, pero es riesgosa la promesa de que pueden reemplazarlo todo
  • Los web components tienen debilidades en áreas como server-side rendering, accesibilidad e interoperabilidad
  • Otros frameworks como React, Solid y Svelte siguen brillando en ciertos ámbitos
  • La web se usa para muchos propósitos, y eso ofrece oportunidades para expresar la creatividad
  • Puede que los web components no sean adecuados para ti, y eso está bien

# Resumen de GN⁺

  • Este artículo presenta distintas perspectivas sobre los web components y enfatiza el equilibrio entre el rendimiento y otros factores
  • Los web components no pueden reemplazarlo todo, pero son adecuados para ciertos usos
  • La comunidad de desarrollo web permite enfoques diversos, y eso fomenta la creatividad
  • Si los web components no te encajan, puedes usar otros frameworks
  • Las diversas capacidades de la web ofrecen nuevas oportunidades de expresión creativa

1 comentarios

 
GN⁺ 2024-10-01
Opiniones de Hacker News
  • Sintió que faltaban argumentos convincentes en el artículo "Web Components Are Not the Future"

    • El estado actual de los frameworks de frontend es caótico
    • No quiere aprender frameworks complejos
    • No quiere funciones mágicas que no se puedan entender sin documentación
    • Web Components son intuitivos y ofrecen aislamiento mediante Shadow DOM
    • Cree que de la era de React solo debería mantenerse JSX
  • Las opiniones difieren porque la gente busca optimizaciones distintas

    • En startups respaldadas por VC, un framework puede ser adecuado
    • En laboratorios académicos, Web Components es mejor porque tiene menores costos de mantenimiento
    • La experiencia de pasar de Vue a Web Components fue muy buena
    • Al reducir dependencias, se volvió más fácil de gestionar
  • Svelte permite crear Web Components mediante la API de Custom Elements

    • Svelte se compila a JS/HTML/CSS, lo que facilita crear componentes reutilizables
  • Cree que Web Components no mejora la vida de los desarrolladores full-stack

    • La mayoría de los ejemplos no son más que plantillar datos en HTML
    • Eso ya se puede hacer con Handlebars
  • Web Components y Shadow DOM pueden interferir con el funcionamiento de las extensiones del navegador

    • Los proveedores de navegadores no tienen prisa por resolver este problema
  • La interoperabilidad conlleva un costo de rendimiento

    • Varios frameworks tienen su propio runtime, lo que puede causar degradación del rendimiento
    • Web Components está técnicamente rezagado y aumenta la complejidad
  • Cree que Web Components puede resolver los problemas actuales del frontend

    • Tiene gran rendimiento y permite desplazar tablas de datos con fluidez
    • Está preparando una biblioteca de Web Components
  • Heredó una base de código JS de 250,000 líneas y la está refactorizando a Web Components

    • Redujo 50,000 líneas de código
    • Le ayuda a entender la funcionalidad del código existente
  • Web Components puede funcionar incluso sin JS

    • Lo ha usado algunas veces para mejora progresiva
    • Funciona bien con renderizado del lado del servidor
  • Los frameworks y Web Components son herramientas que resuelven problemas distintos

    • Los frameworks se encargan de renderizar vistas según el estado
    • Web Components no resuelve el problema de la gestión de estado
    • Cree que ambos pueden coexistir