Repensando CSS en JS
(dev.to)CSS es un elemento clave para hacer que las interfaces de usuario sean atractivas y funcionales, pero a medida que la escala crece, administrar CSS se vuelve una tarea cada vez más difícil.
Los conflictos de estilos, la degradación del rendimiento y la dificultad de mantenimiento atormentan a muchos desarrolladores.
Este artículo explica en detalle un nuevo enfoque para resolver estos problemas, en particular CSS in JS.
Comienza con el contexto histórico de CSS y abarca una amplia variedad de temas, desde los métodos modernos de estilizado hasta los sistemas de diseño del futuro.
La estructura del artículo es la siguiente.
- Definición y contexto de CSS en JS
1. ¿Qué es CSS en JS?
2. Contexto de CSS en JS - Contexto histórico de CSS y del diseño
3. Contexto de CSS
4. Contexto del diseño
5. Contexto de los sistemas de diseño - Análisis de métodos de gestión de estilos y nueva propuesta
6. ¿Cómo se ha gestionado el estilo?
7. ¿Cómo debería gestionarse el estilo? - Plan concreto de implementación de CSS para JS
8. ¿Por qué hay CSS en JS?
9. Presentación del proyecto mincho
10. CSS amigable con CSS en JS
11. CSS escalable en JS - Integración con sistemas de diseño
12. CSS en JS para sistemas de diseño
En particular, este artículo presenta la metodología SCALE CSS y un nuevo concepto llamado StyleStack, y propone el proyecto mincho basado en ellos. El objetivo es implementar en JS un CSS amigable con CSS y escalable.
El propósito final de este artículo es mostrar a desarrolladores, diseñadores y otros actores involucrados en proyectos web la posibilidad de contar con mejores soluciones de estilizado.
Aunque es un artículo largo, gracias por leerlo.
3 comentarios
Lamento que no sea una reacción al proyecto, pero me parece que la industria del frontend debería adoptar una visión más de largo plazo y crear herramientas o convenciones ampliamente consensuadas. Desde la perspectiva de alguien con bastante experiencia en distintos stacks como SCSS, LESS, AngularJS, Angular 2.0 y React, siento que las nuevas tecnologías de frontend están sobreingenierizadas más de lo necesario y resultan desgastantes.
Si hablamos de consensos en la web, existen los estándares web. En CSS se han introducido cosas como el anidamiento de SCSS, y se siguen debatiendo y agregando funciones de forma continua, como clases, métodos de programación funcional y web components.
Creo que el frontend en sí se diversificó hace relativamente poco, así que parece que siguen probando distintas cosas.
Desde librerías como React y Vue hasta bundlers, linters y el tooling en general.
Además, a diferencia del ámbito de las apps, no parece que una sola empresa defina y difunda las mejores prácticas, así que la confusión parece ser mayor.