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

O exemplo que você trouxe mostra o pior cenário possível: um bloco gigante de utilitários sem qualquer abstração. Ninguém defende isso como ideal.

A questão é que, na prática, esse formulário viraria um componente <AuthForm />. Dentro dele, você teria essas classes, mas quem consome o componente vê apenas:

<AuthForm />

A transparência visual está no momento da criação/manutenção do componente, não na leitura da estrutura principal. E a "mistureba" que você aponta no Tailwind é explícita e local. No CSS separado, a mistureba está espalhada em arquivos, com efeitos colaterais implícitos (herança, especificidade, classes que afetam elementos que você nem lembra que existem).

São trade-offs diferentes. Um prioriza isolamento e contexto local. O outro prioriza semântica e camadas arquiteturais. Nenhum é objetivamente "mais claro" em todo cenário.

Carregando publicação patrocinada...
1

Pessoa, são duas implementações diferentes para <AuthForm />

Vue é inteiro focado na separação de componentes e cada componente tem estilo, js e html separados dentro dele, isso facilita muito a manutenção futura.

Que manutenção o tailwind facilita? esse é o meu ponto geral.

Não existe um sistema que o componente é "criado e esquecido", Você vai ter que voltar a dar manutenção nos componentes, seja pra incluir mais coisas, arrumar algo que está quebrado

Tailwind ofereçe uma sobrecarga cognitiva insana para a manutenção.

1

Entendo seu ponto e concordo com ele. Mas a questão não é que uma seja "melhor" que a outra! são filosofias diferentes sobre onde a complexidade deve ficar.

Você diz que Tailwind tem sobrecarga cognitiva. Eu concordo que tem na escrita. CSS tradicional tem na manutenção:

  1. Alternar entre template e style a cada ajuste
  2. Rastrear herança e especificidade implícitas
  3. Classes reutilizadas em vários lugares com comportamentos distintos

Com Tailwind, o estilo está no elemento. Alterar padding é ir direto no elemento, não caçar qual classe controla o quê.

CSS tradicional otimiza leitura semântica. Tailwind otimiza edição local.

São trade-offs. Nenhum é objetivamente menos custoso! Cada um transfere o custo para um lugar diferente.