Tailwind es increíble. Pero voy a dejar de usarlo.

MMaximilian Schwarzmüller
Computing/SoftwareSmall Business/StartupsAdult EducationInternet Technology

Transcript

00:00:00en algunos de los proyectos nuevos en los que estoy trabajando, de hecho en la mayoría,
00:00:05últimamente he dejado de usar Tailwind. Ya no lo utilizo en esos proyectos,
00:00:11y por lo tanto tampoco uso Shadcn. Hay un motivo, y no es que Tailwind sea malo,
00:00:18ni mucho menos. Al contrario, es una librería increíble; quiero que eso quede muy claro.
00:00:22Incluso me siento un poco mal al grabar este episodio porque,
00:00:27hace apenas unas semanas, hablé de los graves problemas financieros que atravesaba Tailwind.
00:00:32Por suerte, desde entonces las cosas han mejorado mucho. Se unieron muchos patrocinadores y creo
00:00:38que ahora su situación financiera es mucho más estable. Porque, obviamente, Tailwind es fantástico.
00:00:43Hay gente que le pone mucho corazón y energía a ese proyecto. Mi intención no es decir
00:00:49que sea malo, ni convencer a nadie de que no lo use. Solo aprovecho este canal para
00:00:56compartir mis reflexiones, opiniones y algunos detalles sobre cómo trabajo. Pensé que les
00:01:01podría interesar. Entonces, ¿por qué no uso Tailwind si me parece increíble? Bueno, déjenme explicarlo.
00:01:07Hace un par de años, antes de la revolución de la IA o de que la IA fuera tan buena programando,
00:01:15yo usaba Tailwind como casi todo el mundo. Lo hacía principalmente por una razón:
00:01:21me permitía iterar el código rápidamente. Verán, nunca he usado Figma
00:01:28ni herramientas similares, sobre todo porque suelo trabajar solo.
00:01:34Y al trabajar solo en mis proyectos, no necesito esas herramientas de diseño. Para mí,
00:01:40siempre era más rápido iterar los diseños directamente en el código.
00:01:45Con Tailwind, al tener las clases integradas en el DOM o en el código JSX, puedes
00:01:50actualizar el estilo rápidamente y probar distintas variantes. Ajustar un margen era fácil.
00:01:57Ese flujo de trabajo era muy eficiente. Esa era mi razón principal y quizás la de
00:02:04muchos otros desarrolladores. Sé que para una buena parte, quizás la mayoría,
00:02:10el motivo de peso es que detestan CSS. Sé que CSS no es popular
00:02:17entre los desarrolladores web, y lo entiendo. Puede parecer muy complejo, con cientos
00:02:23o miles de propiedades y valores. Sí, puede ser intimidante. Pero debo decir que
00:02:31el CSS moderno ha avanzado muchísimo. Muchas cosas son ahora más sencillas que antes. Flexbox
00:02:37ya no es ninguna novedad, pero facilitó mucho las cosas. Y piensen en Flexbox en otras áreas,
00:02:44como el cálculo de colores, que ahora es mucho más simple. Ahora CSS tiene colores relativos.
00:02:51Por cierto, en mi canal de Academind publiqué varios vídeos sobre funciones modernas de
00:02:55navegadores y CSS, como los colores relativos o las "container queries", que son fantásticas
00:03:01para crear componentes que se redimensionan según el espacio disponible y no según el viewport.
00:03:08Así que CSS ha evolucionado mucho. Lo cierto es que puedes usar casi todas estas funciones
00:03:14modernas con Tailwind, pero también puedes escribir CSS puro,
00:03:23y ahora es incluso más fácil gracias a la IA. Aunque odies escribir CSS,
00:03:28basta con conocer ciertas funciones y su compatibilidad. Puedes indicarle a la IA qué
00:03:34características quieres usar, pasarle documentación de MDN que las explique, y ella
00:03:39escribirá el código. Quizás se pregunten por qué hacer eso en vez de usar Tailwind.
00:03:45Al fin y al cabo, también tiene esas funciones. Bueno, tengo un par de razones para ello.
00:03:51La menos importante es que Tailwind no siempre soporta las últimas novedades de inmediato,
00:03:58pero lo más relevante es que la IA no conoce todas las funciones de Tailwind. Tiene muchísimas,
00:04:05pero la IA no las usa todas. Siempre recurre a las mismas clases e incluso a sintaxis antiguas,
00:04:13así que te pierdes cosas. Por supuesto, esto también puede pasar con CSS puro.
00:04:17Si no le pides a la IA que use una función específica, puede que no lo haga, pero puedes aprender
00:04:22las funciones de CSS más importantes y pedirle que las aplique. Entiendo el punto:
00:04:29podrías hacer lo mismo con Tailwind y decirle que use ciertas clases.
00:04:34Quizás sea más fácil nombrar un par de funciones clave de CSS que clases de Tailwind,
00:04:40pero, de nuevo, ese no es mi punto principal. Mi argumento central es que
00:04:48siempre intento reducir la cantidad de librerías que utilizo en mis proyectos,
00:04:53y el motivo es doble. Por un lado, creo contenido educativo, así que estoy acostumbrado a que
00:05:01las librerías externas sean un problema. Si creo un curso sobre React
00:05:07y en ese curso también uso Tailwind, si Tailwind introduce un cambio radical,
00:05:12partes de mi código o del curso dejarán de funcionar y recibiré muchísimas preguntas
00:05:17de alumnos, aunque React no haya cambiado. Sé que es un problema muy específico
00:05:23que me afecta a mí y no a la mayoría de las webs. Pero incluso en una web normal,
00:05:29diría que tener el menor número posible de librerías de terceros es una buena idea.
00:05:38Ahora bien, no se trata de forzar la eliminación de todas las librerías.
00:05:44Hay buenas razones para usarlas. Si estás creando un sitio con un editor
00:05:50de texto enriquecido, usar algo como Tiptap tiene todo el sentido del mundo,
00:05:54porque crear un editor propio es complejo. Con la IA es más fácil que nunca hasta cierto punto,
00:05:59pero te toparás con casos extremos que tendrás que resolver tú mismo. Sí, con ayuda de la IA,
00:06:06pero ella no siempre acierta. Cualquiera que la haya usado lo sabe. Así que
00:06:11hay motivos para usar librerías externas. Solo digo que el estilo visual
00:06:16es algo que se puede reemplazar. No digo que todo el mundo deba hacerlo,
00:06:21pero a mí me funciona bien. Así es una librería menos de la que preocuparme,
00:06:28porque no me importa revisar el CSS que me da la IA y arreglar problemas de diseño con
00:06:37CSS puro cuando algo falla; y está claro que algo fallará en algún momento al usar IA.
00:06:44Pero no me molesta. Si detestas ver código CSS, obviamente esta no es una opción
00:06:50para ti. Pero en mi caso, puedo prescindir de Tailwind. Y de Shadcn también,
00:06:56porque construyo mis propios componentes. Shadcn no es una librería convencional,
00:07:00pero usa Radix UI internamente, una librería cuyo mantenimiento es algo incierto
00:07:08actualmente, según tengo entendido. Y ahí reside el verdadero problema por el que evito
00:07:16las librerías, más allá del contenido educativo. Cada librería que añades
00:07:21a tu proyecto puede convertirse en un lastre si deja de mantenerse. En ese
00:07:29punto, los fallos de seguridad o los errores ya no se corrigen. Problemas de estilo,
00:07:35por ejemplo, con Tailwind. No se añadirían nuevas funciones. Si saliera una novedad en CSS
00:07:41y Tailwind no se mantuviera (que no es el caso), nunca podrías usar esa función.
00:07:46Y estuvimos cerca de algo así con Tailwind. En aquel vídeo donde hablé de sus problemas,
00:07:52el creador principal mencionaba que, si no resolvían la financiación, Tailwind podría
00:07:58quedar abandonado. Quizás fue un poco drástico o una forma de llamar la atención.
00:08:03Sea como sea, el riesgo de que una librería de terceros deje de actualizarse siempre está ahí,
00:08:11dependiendo de quién esté detrás del proyecto. Por eso me gusta volver a usar
00:08:17CSS puro. Es importante recalcar que siempre lo he hecho así.
00:08:22Insisto, le deseo lo mejor a Tailwind y lo sigo usando en muchos proyectos.
00:08:28No lo odio, para nada. Simplemente estoy experimentando con no usarlo
00:08:35en algunos trabajos. Ya sea Tailwind o cualquier otra cosa, yo siempre me lo
00:08:41pensaría dos veces antes de incluir una librería de terceros. Eso ya era cierto antes de la IA.
00:08:46Hay motivos excelentes para usarlas; por ejemplo, Better Auth para autenticación es genial.
00:08:53Lo usaría sin duda. Pero si una librería es reemplazable, creo que vale la pena darle
00:08:57una segunda vuelta.
00:09:04it might be worth a second look or thought, I guess.

Key Takeaway

El autor decide volver al CSS puro apoyado por la IA para reducir la dependencia de librerías externas y aprovechar las capacidades del desarrollo web moderno sin intermediarios.

Highlights

El autor aclara que Tailwind CSS es una herramienta excelente y que su decisión no se debe a una falta de calidad.

La evolución del CSS moderno

Timeline

Introducción y aclaración sobre Tailwind

El narrador comienza explicando que ha dejado de usar Tailwind CSS y Shadcn en la mayoría de sus proyectos recientes. Subraya repetidamente que esta decisión no es un ataque a la herramienta, a la cual califica de "increíble" y fantástica. Menciona que la situación financiera de Tailwind ha mejorado gracias a nuevos patrocinadores, lo cual le da tranquilidad sobre el futuro del proyecto. Su objetivo es simplemente compartir una reflexión personal sobre su flujo de trabajo actual como desarrollador solitario. Este contexto es crucial para entender que su cambio es estratégico y no una crítica técnica a la librería.

La utilidad histórica de Tailwind y el auge del CSS moderno

Antes de la revolución de la IA, el autor utilizaba Tailwind principalmente para iterar diseños rápidamente directamente en el código sin usar Figma. Reconoce que muchos desarrolladores usan Tailwind porque detestan el CSS tradicional, el cual puede resultar intimidante por su complejidad. Sin embargo, destaca que el CSS moderno ha avanzado significativamente con características como Flexbox y colores relativos que simplifican las tareas. Menciona específicamente las "container queries" como una función revolucionaria para crear componentes adaptables según el espacio disponible. Esta sección resalta que la brecha de facilidad entre usar una librería y el lenguaje nativo se ha cerrado considerablemente.

El papel de la IA en la escritura de CSS

La inteligencia artificial se presenta como el gran catalizador que permite abandonar las librerías de estilos. El autor argumenta que la IA puede escribir CSS puro de alta calidad si se le proporcionan las instrucciones o la documentación adecuada de MDN. Explica que, irónicamente, la IA a veces tiene problemas con Tailwind porque tiende a usar clases antiguas o no aprovecha todas sus funciones. Al usar CSS nativo, el desarrollador tiene un control más directo sobre las funciones modernas que desea implementar. Esta transición sugiere que el conocimiento de los fundamentos del lenguaje vuelve a ser más valioso que el dominio de una sintaxis propietaria.

Mantenibilidad y riesgos de las librerías de terceros

El argumento central para evitar Tailwind es el deseo de reducir la cantidad de librerías externas en cualquier proyecto. Como creador de contenido educativo, el autor ha sufrido problemas cuando un curso de React se rompe porque Tailwind cambia su versión. Sostiene que cada dependencia añadida es un posible "lastre" futuro que podría dejar de recibir mantenimiento o parches de seguridad. Aunque admite que hay librerías complejas necesarias como Tiptap, considera que el estilo visual es un área fácilmente reemplazable. El riesgo de abandono de un proyecto es una preocupación real que motiva esta simplificación de la arquitectura del software.

Conclusión y consejos finales

El autor concluye reafirmando que el riesgo de que una librería deje de actualizarse siempre existe, mencionando incluso dudas pasadas sobre la financiación de Tailwind. Menciona el caso de Radix UI y Shadcn como ejemplos donde la dependencia de terceros puede generar incertidumbre a largo plazo. Invita a los desarrolladores a pensar dos veces antes de incluir cualquier librería si esta puede ser reemplazada por código nativo. No obstante, admite que hay excepciones como Better Auth que aportan un valor indiscutible por su complejidad. Finalmente, reitera sus buenos deseos para la comunidad de Tailwind mientras él continúa experimentando con el CSS puro.

Community Posts

View all posts