Executando verificação de segurança...
2

[TailwindCSS]: ferramenta CSS que suja o seu código

Quando eu fui responsável por aplicar um Workshop de ReactJS em minha faculdade, utilizei o TailwindCSS como ferramenta para me auxiliar na estilização de uma aplicação. A ideia era simples: criar uma pokédex - consumindo a PokéAPI e utilizando Typescript.

Ao falar sobre produtividade, o TailwindCSS é uma ferramenta excepcional. Entretanto, apesar de eu achar essencial utilizá-lo em meus projetos pessoais, notei que os imersionistas não curtiram muito a ideia de eu utilizar o TailwindCSS.

Ao perguntá-los o porquê, as respostas que obtive foram:

  • Prefiro Bootstrap;
  • Tailwind deixa o código muito sujo;
  • Por que não usamos Bootstrap?

Essa é uma discussão que divide bastante a comunidade e, bem, se você perpetua dos mesmos ideiais, precisamos considerar alguns motivos:

  1. Talvez você esteja desobedencendo o primeiro princípio do SOLID, tornando os seus componentes em ReactJS bastante complexos e extensos. A letra S (Single Responsability Principle) quer dizer que cada função deve possuir uma única responsabilidade. Dessa forma, o seu código realmente vai ficar sujo - e de fato se tornará difícil de ler - caso você ignore essa convenção.

  2. Sair da sua zona de conforto não vai te fazer mal. Se você é adaptado a utilizar Bootstrap - ou qualquer outra biblioteca de estilização que seja, não vai te fazer mal aprender uma nova biblioteca. Pelo contrário, isso fará com que o seu reportório aumente - e você precisa se adaptar a maneira que o seu time/empresa trabalha.

  3. Muitos negócios e empresas renomadas adotam o TailwindCSS como ferramenta de estilização das aplicações: Netflix, Twitter, Discord e por aí vai. E como citado acima, se você for contratado por alguma empresa, você precisará adaptar-se à cultura dela.

  4. O próprio NextJS pergunta se você deseja utilizar o TailwindCSS em seu projeto. Isso quer dizer que o tailwind está se tornando uma convenção em projetos.

Para quem chegou até aqui ainda se perguntando o que diabos seria TailwindCSS, eu vos respondo:

Imagine que você está estilizando o seu código:

Em vez de estilizá-lo com CSS puro e criar uma classe da maneira mais convencional possível, como:

display: flex;
align-items: center;
justify-content: center;
border-radius: 12px;
padding: 12px;

Com o TailwindCSS, você estiliza por meio de utility-classes, que seriam como subsclasses que você chama para estilizar sua div, h1 e afins. Logo, com o Tailwind, assim seria o código acima:

<div className="flex items-center justify-center rounded-xl p-3">
 Este é o nosso exemplo.
<\div>
Carregando publicação patrocinada...
3
1

é um caminho sem volta cara kkkk, no ínico vc pensa: "que p@rra é essa, deixa tudo bagunçado", ai depois vai usando e vendo que realmente é muito bom

1
1

"utiliza bootstrap", frase tipica de dev backend, hehehe, todos os devs backend que conheço so usam o bootstrap quando são obrigados a fazer algo no front.

1
1
1

Eu curti o Tailwind e nesses tempos inclusive comprei o acesso aos componentes da TailwindUI. Acelera bastante na entrega de páginas, ainda mais no meu caso que uso Next.
Por um lado eu ainda gosto e muito do ChakraUI. É uma delicia escrever usando aquilo, uma pena que ainda não tenha suporte para Server Components, mas espero que arrumem isso logo.

1
1
1

cara nao devemos esquecer que o tailwind utiliza postcss, se voce utilizar junto com sass a decisão de ter um codigo sujo depende de você, por exemplo, eu posso criar uma classe .flex-center e dentro dela eu posso utilizar o @apply fl x justify-center items-center; assim sempre que quiser centralizar um item eu utiliza essa class.
criar folhas de estilos fica bem mais organizado

1

O desenvolvedor do tailwind falou que um dos arrependimentos dele foi ter criado esse @apply, eu não lembro o motivo, mas desde que ele disso eu mesmo evito usar.

1

Sou daqueles que nao gosta de css ou nao teve a paciência de aprender rss. Com tailwindcss,acabei aprendendo de uma forma mais facilitada css, como curioso que sou acabou vendo o que tem dentro das classes

1

Eu sempre vi o bootstrap com uma certa complexidade, ainda mais quando precisava utilizar jquery para fazer simples interfaces. Meus professores do técnico ensinavam aquilo como "Uauuuu" mas eu sempre preferi o puro css. Quando eu conheci o tailwind eu fiquei maravilhado pela simplicidade e boa prática de estilização.

1

No começo também achei que o Tailwind deixava o código muito sujo, mas depois vi algumas discussões e exemplos sobre o assunto e vi que a idéia dele é para ser usado em componentes. Dessa forma, acho que faz bem mais sentido.
Por exemplo, no Laravel com Blade, você pode criar componentes como botões, navbars, menus... Dessa forma, o código não vai ficar sujo e vai obedecer o DRY. Uma grande vantagem que vi foi não ficar alternando entre arquivos html/blade e css.

No site https://tailwindui.com/ você pode encontrar exemplos de componentes com tailwind.

1

Eu simplesmente nao consigo compreender como isso aqui pode ser bom pro código:

<p className="fixed left-0 top-0 flex w-full justify-center border-b border-gray-300 bg-gradient-to-b from-zinc-200 pb-6 pt-8 backdrop-blur-2xl dark:border-neutral-800 dark:bg-zinc-800/30 dark:from-inherit lg:static lg:w-auto  lg:rounded-xl lg:border lg:bg-gray-200 lg:p-4 lg:dark:bg-zinc-800/30">
          Get started by editing&nbsp;
          <code className="font-mono font-bold">src/app/page.tsx</code>
        </p>
1

Por mais que haja essa lado desagradável de ter muitas classes, uma das vantagens de usar o Tailwindcss é que o css gerado para produção utilizará apenas as classes que de fato foram adicionadas ao projeto, o que nem sempre acontece com outros frameworks css.

1

Simples, intuitivo, fácil de refatorar e reaproveitar.

Fica muito claro e simples de entender o que essa estilização irá oferecer, e de quebrar, na mesma linha você tem responsividade e dark mode.

É indiscutivelmente produtivo!

1

Ainda torço nariz pro Tailwind por estar muito acostumado com o Bootstrap, ja tentei brincar um pouco com ele mas dei uma travada em como fazer aquele menu burger para dispositivos moveis e acabei perdendo a paciencia, rs.

Mas creio ser apenas pela falta de conhecimento msm, e msm ainda adiando o aprendizado em Tailwind, creio ser uma ferramenta incrível.

No meu caso, acredito que eventualmente vou acabar aprendendo Tailwind de algum jeito e possivelmente nunca mais usar Bootstrap em algum momento, e digo isso pois foi similar ao que aconteceu comigo muitos anos atras. Quando aprendi PHP, conheci o Codeignter 3 que foi amor a priveira vista, mas quando comecei ouvir sobre o Laravel, tentei usar ele mas desisti várias vezes por nem saber como o Composer funcionava e tal. Mas depois que entendi como funcionava e comecei a criar projetos com ele, abandonei o Codeigniter e hoje não vivo sem o Laravel, rs.

Então, apesar de ainda não entender bem os benefícios do Tailwind, até porque eu não gosto muito de design, eu acho bem legal a forma como ele funciona e entendo um pouco porque ele se tornou tão popular(principalmente pela maior facilidade e gama de opções de suas propriedades). No meu momento atual não vejo benefício suficiente para justificar migrar do Bootstrap para Tailwind, mas espero futuramente ter uma oportunidade(e tempo) para criar algum projeto com ele para poder aprender mais sobre ele.

1
1
1

Eu tive muita dificuldade de entender bootstrap e acho muito massivo, muita coisa pra gravar, o tailwindcss é muito interativo, modular, editavel, é muito bom, eu gosto muito.
Eu uso em todos os meus projetos, e a cada dia mais tenho aprendido mais.

1

eu, que sou um dev full stack solo (mas prefiro back), acho tailwind muito complesso, o css em si é muito complexo. gosto mais do bootstrap por ele ser mais util e simples de usar.

1

Também penso assim. Acho que o tailwind é pra quem é dev front, quem é full e tem que ligar com várias coisas, melhor ter um bootstarp fazendo a estilização do que ter q fazer "na mão" o css.

1

Sinceramente, tudo são ferramentas. Estou bem curioso com o TailWindCSS, uso Bootstrap, mas tem horas que acho o css puro mais efetivo, alias, devia ser o caminho de quem está começando, para pelo menos saber o que está fazendo. Fora isso, que venham novas ferramentas, assim podemos escolher o que é o melhor para cada missão.

1

Bom dia, você usa algum pacote de componentes sem estilo? Sou iniciante no mundo front-end web mas adorei usar o React Aria pra montar coisas como tabelas e combobox e depois botar o css com o tailwind

2
2
1
1

Já passei por algo parecido, do pessoal dizer que deixa o código bagunçado e difícil de ler. No início eu pensava isso também. Mas depois que entendi de verdade o tailwind e que podia criar uma classe mais simples, por exemplo button e utilizar o @apply passando todas as classes do tailwind e no componente usando apenas o button minha vida mudou completamente. Hoje pra projetos pessoais só uso tailwind.

1

uma coisa que eu sempre demoro pra resolver é quando vou em outro computador e as classes do meu tailwind não ficam no autocomplete e eu fico perdido, ai fico meia hora tentando resolver o autopostcss autocomplete, prettier , tento vários addons.

Alguém lembra exatamente o quer resolver ?

Pode ser muitas vezes o caminhho lá na pasta do tailwindconfig.js que dentro do content deveria conter todos os arquivos ./**/*.arquivo

1

O que acho estanho no tailwind é que tudo fica no html praticamente, acho uma bagunça mesmo.

Eles vendem os templates, inclusive com codigo em react, mas na verdade não são componentes, é só um codigo html qualquer jogado dentro de um componente unico.

Sinto muita falta no react de um ui kit tão maduro como o angular material por exemplo

1
1
1
1
1
1

acho estranha essa galare com lib/framework de estimação... estou atualizando meu portfólio em nextjs e tailwindcss, uma experiência bem legal e a documentação deles é muito boa adotaria sempre nos meus projetos tranquilamente

0

Se quiser usar o TailwindCSS, mas não gosta de ter que colocar tudo no className da para usar o tailwind-styled-components que mescla o tailwind com o styled-components.
Dessa forma da para separa a regra de negócio do componente da estilização em si.