La promesa fallida de los componentes web
Lea tiene algunas palabras :
Examinar los componentes en webcomponents.org me llena de ansiedad y me siento perfectamente cómodo escribiendo JS. ¡Escribo JS para ganarme la vida! ¿Qué esperanza tienen aquellos que no pueden escribir JS? El uso de un elemento personalizado del directorio a menudo debe ir precedido de un ritual de npm fliscorno, importar zapatos de payaso, construir quux, todo sin pedir disculpas porque “aquí está mi camión lleno de dependencias, sí, qué”. Incluso se omiten muchos pasos, probablemente porque son “obvios”.
Cuando escribí Un poco sobre bibliotecas de componentes web , me dijeron que lo principal en lo que me equivoqué fue que:
La idea era crear primitivos sobre los que las bibliotecas pudieran construir para poder enviar menos código. Siempre fue la intención que usaras una biblioteca con ellos.
Hace muchos años que murieron las importaciones de HTML. Fue el motivo favorito de Dave sobre los componentes web durante mucho tiempo. Así que supongo que después de eso, fue un enfoque de JavaScript o fracaso para los componentes web. Y odio decirlo, pero parece que está mucho más cerca de un fracaso que de una bendición.
Aunque sigo siendo optimista. Los componentes web pueden hacer cosas interesantes que sólo los componentes web pueden hacer. El Shadow DOM es una gran parte de eso. Por ejemplo, recuerdo que hace años Twitter experimentó integrando Tweets en componentes web (en lugar de iframes) porque era mucho más rápido (en todos los sentidos). Eso nunca se manifestó ( ♂️), pero me pareció una muy buena idea.
Creo que la historia del estilo es muy importante. Apuesto a que los usaría al menos un poco más si diseñarlos no fuera tan extraño . Vi que Scott estaba preguntando sobre esto hoy y el 75% de las personas desearían que hubiera una manera de acceder a ese Shadow DOM y diseñarlo desde CSS normal. Entiendo por qué es necesario protegerlo (ese es un punto importante de Shadow DOM en primer lugar), pero tener que acceder de manera muy explícita me parece suficiente protección.
Enlace directo →
Deja un comentario