Memorando del artículo de Colton Voege «Tailwind is the Worst of All Worlds»

Tailwind: todo mal 👎🏻

Publicado por Aunitz Giménez el 26 agosto 2025

Hace años que estoy suscrito al excelente boletín semanal sobre desarrollo frontend llamado Frontend Focus. En su número 702, publicado en julio de 2025, enlazan un artículo del ingeniero Colton Voege que lleva un título provocador: Tailwind is the Worst of All Worlds.

No soy experto en desarrollo frontend, pero llevo muchos años dirigiendo proyectos en los que trabajan excelentes profesionales del desarrollo de interfaces y, en especial, del uso de CSS. Estoy al tanto de las novedades y de la práctica cotidiana con este lenguaje. Teniendo en cuenta este contexto, diré que Tailwind nunca me ha gustado. He experimentado un poco con él y hay aspectos que me han incomodado desde el principio. No lo había expresado antes porque no he visto que se critique en exceso este framework. Hasta que leí el artículo de Colton Voege y pensé: «¡Vaya! No soy el único al que no le convence Tailwind». Con la ventaja de que Colton es un ingeniero experto en desarrollo web y fundamenta técnicamente sus afirmaciones. Por ello, me sumo a él en la crítica a Tailwind y paso a resumir los principales inconvenientes que señala y en los que coincido plenamente.

Antes de nada, os mostraré una captura de pantalla tomada de la documentación oficial de Tailwind. No hay que buscar demasiado: está plagada de este tipo de ejemplos.

He resaltado los fragmentos de código que de inmediato me llamaron la atención: esas largas listas de clases CSS que parecen más estilos en línea que clases definidas en una hoja de estilos externa. Nunca le he encontrado sentido a este tipo de código.

Principales inconvenientes de Tailwind según Colton Voege

Clases como estilos inline ofuscados

Como hemos visto en la captura anterior, Tailwind ofrece estilos inline mediante clases, no como pares clave-valor, lo que reduce la legibilidad y dificulta su escritura.

Sin conjuntos de reglas reutilizables

A diferencia de los estilos CSS que permiten agrupar reglas reutilizables, en Tailwind se recomienda duplicar las mismas cadenas de clases múltiples veces.

La siguiente captura de pantalla de la documentación oficial de Tailwind me dejó sin palabras:

Dependencia de un bundler

Tailwind no funciona sin un plugin y un sistema de bundling, al revés que CSS puro que se puede emplear directamente en una página.

Carga mental elevada para los desarrolladores

Se requiere aprender no solo la semántica de CSS (como background-color), sino también las convenciones de Tailwind (bg-, items-, etc.).

Tailwind no es especialmente consistente a la hora de nombrar sus clases. Escribir código significa tener que esperar la sugerencia del editor para saber qué estilo aplica cada clase, o buscarlo manualmente.

Migraciones difíciles entre versiones

Cada vez que Tailwind actualiza su versión mayor y cambia algunas clases, es necesario usar codemods y después revisar manualmente miles de cambios.

Uso reiterado del prefijo por cada regla

Aunque Tailwind facilita el uso de variantes (como lg:) para media queries, cada regla debe repetirse con el prefijo. Lo cual es más verboso que definir un bloque media query en una única estructura de código donde escribes todas las propiedades juntas.

Y entonces, ¿por qué se utiliza tanto Tailwind?

Yo también me lo pregunto. He de reconocer que no tengo el conocimiento suficiente como para responder con autoridad a esta cuestión, de modo que paso a enumerar los principales motivos por los que, según Colton Voege, «todo el mundo utiliza Tailwind».

Buena documentación y marketing

Tailwind cuenta con una de las documentaciones más completas y cuidadas del ecosistema frontend. Su página web es atractiva, clara y ofrece ejemplos listos para copiar, lo que transmite una sensación de inmediatez.

Promesa de velocidad

Tailwind transmite la sensación de que permite desarrollar interfaces con gran rapidez, ya que posibilita aplicar estilos sin salir del HTML/JSX. Se percibe como una opción más productiva que escribir CSS en hojas de estilo separadas o configurar un sistema de diseño desde cero.

Comunidad y moda

Existe una comunidad muy numerosa que crea contenido, tutoriales y plantillas basadas en Tailwind. Influencers, youtubers y grandes proyectos han adoptado y promocionado esta herramienta, lo que genera validación social y provoca que nuevos desarrolladores la incorporen casi por inercia. Así se ha consolidado la percepción de que es un estándar de facto: «si todos lo usan, debe de ser bueno».

La contribución de la IA generativa

Las clases de Tailwind son especialmente fáciles de recordar, reproducir y generar para los modelos de lenguaje (LLM). Gracias a ello, se han vuelto muy populares entre los desarrolladores que utilizan IA para programar y que no se cuestionan las decisiones que la herramienta toma por ellos.

Plantillas y componentes predefinidos

Tailwind ofrece un amplio ecosistema de plantillas, themes y librerías UI que atraen a quienes quieren resultados rápidos y vistosos.

Facilidad de entrada para principiantes

Al no requerir un conocimiento profundo de CSS, los principiantes tienen la sensación de dominar la maquetación con mayor rapidez. Esto convierte a Tailwind en una herramienta atractiva para quienes se inician en este ámbito.

👉 ¿Cuál es tu opinión al respecto? Te invito a compartirla en los comentarios de esta publicación en LinkedIn.