CSS está yendo demasiado lejos

Tabla de contenidos

De un tiempo a esta parte he notado en mí mismo algo de desencanto respecto a CSS, que era mi lenguaje favorito, y no sabía por qué, pero ahora ya lo sé.

Están siendo tiempos excitantes para quienes trabajamos con CSS porque en los últimos años hemos visto cómo se nos ha provisto de herramientas suficientes para codificar diseños modernos, atractivos y cada vez de mayor complejidad.

Hemos pasado de tener que componer maquetas aprovechando efectos secundarios que tenían algunas propiedades, a tener especificaciones enteras y en constante evolución, con propiedades y funciones a medida, ideadas para resolver casos muy concretos.

La evolución del lenguaje nos ha sido favorable porque, de un lado, existían muchas voces que reclamaban herramientas específicas, el CSS Working Group (grupo de trabajo de la w3c) estaba conformado por profesionales con esas mismas necesidades que podían impulsar estas peticiones y sugerencias, y además, cualquier persona de la comunidad podía (y puede) colaborar haciendo propuestas, y, por otro lado, los navegadores web, que estaban haciendo su guerra de mercado por una mayor cuota de uso, podían implementar tempranamente alguna característica para ganarse algunos aliados.

Así que CSS creció mucho en poco tiempo. Hoy tenemos un amplio repertorio de propiedades de las que servirnos, y eso son buenas noticias, y sin embargo, siento algo de desasosiego.

Supongo que empieza a ser tan grande que es difícil estar al día y conocer todas las propiedades, lo que redunda en una especie de falta de familiaridad, pero en el fondo da igual porque un desarrollador tiene que saber qué quiere hacer y dónde ir a buscar en lugar de memorizar, y además, esto es solo un sentimiento humano y no una razón de peso.

Pero el otro día hablaba con mis compañeros de Redradix sobre PostCSS y opinaba que para su configuración inicial tienes que tener claro qué necesitas, conocer a fondo las carencias del lenguaje y cuáles son las especificaciones en curso, así como los plugins disponibles para poder hacer una configuración útil. Es decir, tienes que saber qué cosas no te da CSS pero que “necesitas” para el desempeño de tu trabajo, haber identificado cómo el lenguaje podría mejorar e ir más allá del nesting para no acabar haciendo un SASS (porque para eso ya tienes SASS). Y es que lo difícil es dar forma a ese vacío, porque parece que en estos momentos en CSS está todo inventado.

Hace unos años era sencillo porque necesitábamos herramientas específicas para resolver problemas concretos, pero ahora no es tan fácil porque tenemos de todo. Tenemos de todo y, aun así, se siguen desarrollando especificaciones que se supone que vienen a ayudar a resolver problemas conocidos por los desarrolladores web (porque recuerda que el CSS WG está coformado por desarrolladores de todo el mundo y que son quienes impulsan estas especificaciones).

Problemas del día a día

Container queries, styles queries… Veo su razón de existir, pero, ¿de verdad los necesitamos?. Pregunté a mis compañeros cuántas veces lo habían tenido que usar, es decir, cuántas veces “han sentido” que lo necesitaban, y la respuesta fue que ninguna. Yo recuerdo una vez, en 2017, y después de aquello, nada.

Pero se suponía que eran herramientas para solucionar problemas reales.

La cosa es que ha cambiado el paradigma, ya no vamos a remolque, vamos a la cabeza y quizá por delante de lo esperado. Tan adelante que no somos capaces de intuir, a efectos prácticos, cómo nos van a ayudar, porque es difícil ver su aplicación más allá de los ejemplos básicos que ilustran la propuesta. O puede que lo que esté ocurriendo es que otras disciplinas, como experiencia de usuario y diseño visual, sean quienes se han quedado estancados y no seamos capaces de, si no reinventar el medio para consumir información de una forma diferente, al menos exprimir las puertas que se nos están abriendo con estas nuevas capacidades. O tal vez sea que estas herramientas han dejado de solucionar problemas de la vida real.

Siguiendo este pensamiento, leo el artículo en smashing magazine sobre el (posible) CSS del futuro y no sé si me emociona o me asusta, porque veo que la separación de responsabilidades entre los lenguajes front-end; HTML, CSS y JS es cada vez menor, y eso no me gusta a pesar de las alucinantes propuestas que hay.

El caso es que hasta hace unos días tenía esta sensación pero no le había puesto palabras todavía, y fue esa charla con mis compañeros y este artículo de css-tricks los que me han ayudado a dar salida a esto, y a entender que quizá no esté solo.

Conclusión

Obviamente, no quiero que CSS se estanque, son tiempos fascinantes para ser front-end, pero ojalá que todo siga hacia adelante con cierto sentido. Por supuesto ni pretendo ni puedo tener más visión de futuro que las increíbles personas que trabajan para dar forma a las especificaciones de CSS, pero sí que me pregunto si no les cegara el brillo de alguna estrella o si es que no tendrán a alguien que les “anima” a qué fuercen los límites de CSS.

Me quedo pensando en estas cosas mientras espero con ilusión poder utilizar pronto :has() y tal vez, que aparezca algo como grid-template-gap para gaps asimétricos.

comments powered by Disqus

Si te ha parecido interesante

Tanto si tienes alguna duda o quieres charlar sobre este tema, como si el contenido o nuestros perfiles te parecen interesantes y crees que pdemos hacer algo juntos, no dudes en ponerte en contacto con nosotros a través de twitter o en el email hola@mamutlove.com