O Tailwind é incrível. Mas estou deixando de usar.

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

Transcript

00:00:00para alguns dos novos projetos em que estou trabalhando, na maioria dos meus novos projetos atuais,
00:00:05eu acabei deixando de usar o Tailwind. Não estou mais usando Tailwind nesses projetos,
00:00:11e consequentemente também não uso o Shadcn. E existe um motivo. O motivo não é que o Tailwind seja ruim,
00:00:18claro. Pelo contrário. É uma biblioteca incrível. Quero deixar isso bem claro.
00:00:22E eu até me sinto um pouco mal gravando este vídeo, este episódio aqui, porque
00:00:27há apenas algumas semanas, falei sobre os enormes problemas financeiros que o Tailwind enfrentava na época.
00:00:32Agora, desde então, felizmente, as coisas melhoraram muito. Muitos novos patrocinadores apareceram. E agora acho
00:00:38que eles estão em uma situação financeira muito melhor. Porque, obviamente, o Tailwind é incrível.
00:00:43E há pessoas trabalhando com muito coração e energia nesse projeto. Meu ponto não é
00:00:49que ele seja ruim, ou que eu queira convencer alguém a não usá-lo. Só estou usando este canal para
00:00:56compartilhar meus pensamentos, minhas opiniões e algumas percepções sobre como eu trabalho. Achei que
00:01:01isso poderia ser interessante. Então, por que não estou usando o Tailwind, se o considero incrível? Bom, preciso dar um passo
00:01:07atrás. Alguns anos atrás, antes da revolução da IA, ou antes da IA ficar tão boa em programar,
00:01:15eu usava Tailwind como a maioria das pessoas, como a maioria dos desenvolvedores por aí. Por um motivo principal,
00:01:21no entanto: ele me permitia iterar rapidamente no código. Eu nunca usei muito o Figma
00:01:28ou outras ferramentas do tipo. Também, é claro, porque eu costumo trabalhar sozinho.
00:01:34E se estou trabalhando sozinho nos meus projetos, não preciso realmente dessas ferramentas de design. Para mim,
00:01:40sempre foi mais rápido iterar no design diretamente no código. Eu podia escrever o código.
00:01:45E com o Tailwind, como as classes ficam em linha no seu DOM, no seu código JSX, você consegue
00:01:50atualizar rapidamente esse código, os estilos e testar abordagens diferentes. Ajustar aquela margem.
00:01:57E esse era um fluxo de trabalho muito, muito eficiente. Esse era o motivo principal para mim e talvez para
00:02:04outros desenvolvedores usarem Tailwind. Eu sei que para uma boa parte de outros desenvolvedores,
00:02:10talvez a maioria, outro motivo forte é que eles simplesmente odeiam CSS. Sei que o CSS não é popular
00:02:17entre os desenvolvedores web. E eu entendo o porquê. Pode parecer muito complexo. São centenas e milhares
00:02:23de propriedades e valores. E sim, pode ser intimidador. No entanto, devo dizer que o CSS moderno
00:02:31evoluiu muito. Muitas coisas estão mais fáceis agora do que eram no passado. O Flexbox já não é
00:02:37nenhuma novidade, mas facilitou muito as coisas. E pense no Flexbox e em outras áreas,
00:02:44como obter cores derivadas, que ficou muito mais fácil do que antes. Agora você tem cores relativas no CSS. E,
00:02:51aliás, no meu canal Academind, lancei alguns vídeos falando sobre recursos modernos de browsers
00:02:55e de CSS, como cores e cores relativas ou as "container queries", que também são incríveis
00:03:01para criar componentes redimensionáveis dinamicamente que não dependem da viewport, mas do espaço
00:03:08disponível para o componente. Então o CSS evoluiu muito. A questão é que você pode usar todos esses
00:03:14recursos modernos de CSS também com o Tailwind, essencialmente, mas você também pode escrever CSS puro,
00:03:23o que ficou ainda mais fácil agora com a IA, é claro. Porque mesmo que você odeie usar CSS,
00:03:28conhecer certos recursos e o suporte dos navegadores pode ser o suficiente. Você pode indicar à IA
00:03:34quais recursos quer usar, adicionar documentações, artigos da MDN que explicam esses recursos, e a IA
00:03:39pode escrever o código para você. Você pode se perguntar por que faria isso. Por que não usar logo o Tailwind? Digo,
00:03:45ele também tem todos esses recursos modernos, por um motivo e meio, eu diria, pelo menos para mim.
00:03:51O motivo menos importante é que o Tailwind nem sempre suporta todas as funcionalidades mais recentes,
00:03:58e o mais importante, a IA certamente não conhece todos os recursos do Tailwind. O Tailwind tem
00:04:05muitos recursos, mas a IA não usa todos eles. Ela sempre usa as mesmas classes e muitas vezes
00:04:13uma sintaxe de classe antiga, então você acaba perdendo certas funcionalidades. O mesmo pode acontecer
00:04:17se você estiver usando CSS puro, claro. Se você não disser para a IA usar um certo recurso,
00:04:22ela pode simplesmente não usar, mas você pode aprender os recursos de CSS mais importantes que deseja
00:04:29e então pedir para a IA aplicar. Mas eu entendo o ponto. Você também poderia fazer o mesmo com o Tailwind
00:04:34e pedir para a IA usar certos recursos dele. Talvez seja mais fácil citar alguns recursos chave
00:04:40do CSS do que classes do Tailwind, mas, novamente, esse não é o meu ponto principal. Meu ponto principal é
00:04:48que sempre tentei reduzir a quantidade de bibliotecas que utilizo nos meus projetos,
00:04:53e o motivo para isso é duplo. Primeiro, eu crio conteúdo educacional, então estou acostumado a ver
00:05:01bibliotecas extras como algo negativo, porque se eu crio um curso sobre React,
00:05:07e nesse curso também utilizo Tailwind, se houver uma mudança drástica no Tailwind,
00:05:12várias partes do meu código ou do meu curso param de funcionar de repente e recebo muitas dúvidas
00:05:17de alunos, mesmo que o tópico principal, o React, não tenha mudado. Entendo que este é um problema
00:05:23muito específico meu, que não afeta a maioria dos sites. Mas mesmo que você esteja criando um site
00:05:29comum, ter o mínimo possível de bibliotecas de terceiros é uma boa ideia, eu diria.
00:05:38Não estou dizendo que é boa ideia forçar a saída de toda e qualquer biblioteca. Existem bons motivos
00:05:44para usar certas bibliotecas. Se você está construindo um site
00:05:50que tem um editor de texto rico, usar algo como o Tiptap faz todo sentido, eu diria,
00:05:54pois você pode criar seu próprio editor. Com a IA, isso está mais fácil do que nunca, até certo ponto,
00:05:59mas você também encontrará muitos casos isolados ou problemas que terá de resolver sozinho. Com a IA,
00:06:06claro, mas a IA também não acerta tudo. Você sabe disso se já trabalhou com ela. Então
00:06:11existem razões para usar bibliotecas de terceiros. Eu só digo que a estilização, como expliquei,
00:06:16é algo que é realmente substituível. Novamente, não digo que todos devam fazer isso,
00:06:21mas para mim, funciona muito bem. E, portanto, essa é uma biblioteca da qual posso me livrar porque
00:06:28não me importo de revisar o código CSS que a IA me entrega e corrigir problemas de estilo com
00:06:37CSS puro quando as coisas dão errado, porque as coisas vão dar errado em algum momento usando IA.
00:06:44Mas eu não me importo. Se você detesta olhar para código CSS, essa não será uma opção
00:06:50para você, obviamente. Mas, para mim, eu consigo me livrar da biblioteca Tailwind. Posso me livrar
00:06:56do Shadcn, por exemplo, porque eu crio meus próprios componentes. E o Shadcn, claro, não é uma
00:07:00biblioteca tradicional, mas ele usa o Radix UI por baixo, uma biblioteca que está com um status de manutenção
00:07:08questionável agora, até onde eu sei. Então aí você tem o problema real de por que quero
00:07:16evitar bibliotecas mesmo sem falar de conteúdo educacional. Qualquer
00:07:21biblioteca que você adiciona ao projeto pode se tornar um fardo se deixar de ser mantida. Nesse
00:07:29ponto, problemas de segurança podem não ser mais corrigidos. Bugs podem não ser corrigidos. Bugs de estilo,
00:07:35por exemplo, com o Tailwind. Novos recursos podem não ser adicionados. Se houver um novo recurso de CSS
00:07:41e o Tailwind não fosse mais mantido — claro que ele é, mas se não fosse —
00:07:46então você talvez nunca pudesse usar esse recurso. E estivemos meio que perto disso com o Tailwind.
00:07:52Aquele vídeo que criei onde falei sobre os problemas deles, há uma postagem do criador principal do Tailwind
00:07:58onde ele diz que se não resolvessem esse problema de financiamento, o Tailwind poderia se tornar
00:08:03um projeto abandonado. Talvez tenha sido um pouco drástico, talvez para chamar atenção. Mas, ainda assim,
00:08:11um problema que você sempre tem com a maioria das bibliotecas de terceiros é que elas podem não ser
00:08:17mantidas no futuro, dependendo de quem está trabalhando nelas. É por isso que eu
00:08:22pessoalmente gosto de usar CSS puro novamente. E isso é importante aqui porque eu sempre fiz isso.
00:08:28E, repito, não canso de enfatizar: desejo o melhor para o Tailwind e ainda o uso
00:08:35em muitos projetos. Não é que eu o odeie. É apenas algo com que estou experimentando
00:08:41não usar em alguns projetos. E não importa se para você é o Tailwind ou algo totalmente
00:08:46diferente, eu apenas — e isso já era verdade antes da era da IA — eu pensaria duas vezes
00:08:53antes de usar uma biblioteca de terceiros. Há muitos bons motivos para usá-las. Por exemplo, o Better Auth
00:08:57para autenticação é incrível. Eu definitivamente usaria. Mas se houver uma biblioteca que você pode substituir,
00:09:04talvez valha a pena analisar ou refletir melhor.

Key Takeaway

O autor está deixando de usar o Tailwind em novos projetos para reduzir dependências externas e aproveitar o poder da IA na escrita de CSS moderno e puro.

Highlights

A transição do Tailwind CSS para o CSS puro motivada pela evolução das ferramentas de IA.

A importância de reduzir dependências de bibliotecas de terceiros para evitar problemas de manutenção futura.

A evolução do CSS moderno com recursos como Flexbox

Timeline

Introdução e Contexto Atual do Tailwind

O palestrante revela que parou de usar Tailwind e Shadcn em seus projetos mais recentes, apesar de ainda considerar a biblioteca incrível. Ele esclarece que sua decisão não é uma crítica à qualidade da ferramenta, mas uma mudança pessoal de fluxo de trabalho. É mencionada a situação financeira do Tailwind, que melhorou recentemente após um período de incerteza com novos patrocinadores. O objetivo do vídeo é compartilhar percepções sobre eficiência e escolhas técnicas individuais. Ele enfatiza que não deseja convencer ninguém a abandonar a ferramenta, apenas explicar sua nova abordagem.

O Passado: Rapidez e Iteração no Código

Antes da ascensão da IA, o Tailwind era a escolha principal do autor devido à velocidade de iteração diretamente no código. Como ele trabalha sozinho e evita ferramentas de design como o Figma, escrever classes utilitárias no JSX permitia ajustes visuais instantâneos. Esse fluxo de trabalho era extremamente eficiente para testar margens e layouts rapidamente sem sair do editor. O palestrante reconhece que essa agilidade é o que atrai a maioria dos desenvolvedores para o ecossistema Tailwind. Ele destaca que, para muitos, essa era a única forma viável de lidar com estilos sem perder produtividade.

A Evolução do CSS Moderno e a IA

Nesta seção, discute-se como o CSS moderno se tornou muito mais acessível e poderoso com Flexbox e Grid. Recursos novos como cores relativas e "container queries" permitem criar componentes dinâmicos que não dependem apenas da viewport. O autor argumenta que a aversão histórica ao CSS está perdendo o sentido, já que a linguagem evoluiu drasticamente. Com o auxílio da IA, é possível indicar quais recursos modernos usar e deixar que a máquina gere o código base. Isso elimina a necessidade de decorar centenas de propriedades complexas que antes intimidavam os desenvolvedores.

Limitações da IA com Tailwind vs. CSS Puro

O autor explica que a IA muitas vezes tem dificuldade em acompanhar todas as atualizações específicas das classes do Tailwind. Frequentemente, os modelos de linguagem sugerem sintaxes antigas ou não utilizam os recursos mais recentes da biblioteca. Em contraste, é mais simples pedir para a IA aplicar um conceito de CSS puro documentado na MDN. Existe um descompasso entre o que a biblioteca oferece e o que a IA efetivamente implementa no dia a dia. Por esse motivo, o controle sobre o CSS puro acaba sendo, em muitos casos, mais preciso e direto.

O Risco das Bibliotecas de Terceiros

Um ponto central da argumentação é o desejo de reduzir o número de bibliotecas externas nos projetos para evitar o "fardo da manutenção". Para um educador, mudanças no Tailwind podem invalidar aulas inteiras de React, gerando suporte extra desnecessário. O autor menciona que bibliotecas como Radix UI e até o próprio Tailwind enfrentam desafios de manutenção a longo prazo que podem gerar bugs ou falhas de segurança. Ele defende que, embora bibliotecas complexas como editores de texto (Tiptap) sejam úteis, a estilização é algo facilmente substituível. Reduzir dependências torna o projeto mais resiliente a mudanças no ecossistema de software.

Conclusão e Reflexão sobre Dependências

O vídeo encerra reforçando que a escolha de usar CSS puro é viável para quem não se importa em revisar e corrigir estilos manualmente. O autor cita o exemplo do Shadcn e a manutenção questionável do Radix UI como motivos para preferir criar seus próprios componentes. Ele encoraja os desenvolvedores a refletirem se realmente precisam de cada biblioteca que instalam em seus projetos. Embora existam ferramentas essenciais como o Better Auth para autenticação, muitas outras podem ser evitadas. O objetivo final é criar um código mais limpo, duradouro e menos dependente de decisões de terceiros.

Community Posts

View all posts