| I think you might be misinterpreting Tailwind's "pillars": > - Developers don’t want to write css so they add insane amounts of nuisance in templates. Impossible to read the design language. It's not so much that developers don't want to write CSS, but that it's largely impossible to delete lines of CSS. > - The original author of Tailwind complains about naming classes in the css but Tailwind ironically names things that are “tx—-bb-4-2” or whatever the hell that means. No thanks, I’ll write “customer-support-card” or something useful. Maybe even more generic - “card”. So those are different complaints about naming. Your complain is that names are hard to understand. Tailwind's complaint is that trying to define "generic" (i.e. reusable) classes is practically impossible. Is "card" the right abstraction? Is "customer-support-card"? > - Tailwind’s front page is everything that’s wrong with this. Moving around components with “mr-4” tags and shifting it up. Left. Right. Making it larger. That means that there is no standardized design language and you’ll create design that will have no cohesive unity. One component will have “mr-4” margin and another “mr-3”. The idea is that all those margins are part of a set of "constraints" that all compose well together to form a cohesive unity. More about this is written here: https://styled-system.com/guides/why-powers-of-two > We have the technology. Sass can create compositional components with reusability and logical hierarchy. This might be the main point: Tailwind means you're not defining reusable styles. All the styles are specific to the component, and the component is the thing you reuse - which we were defining already. So it actually gets rid of yet another tool to create compositional components with reusability and logical hierarchy. (It's less fast for me to get to something working than e.g. using Bulma is, but I'm expecting that it will rid me of a number of the pains I run to when I'm hitting the limits of its built-in component styles.) |
However, for production, I always come back and refactor everything into a beautiful Sass file that explains with comments what all the stuff is doing.
Now, the designer can come in and change something in the sass without having to worry about the rest of the app. They can easily debug too 'customer-support-class' straight from chrome browser.
I feel like Tailwind is a prototyping tool that's then shoehorned into production environment and in large applications where the design language (despite of tokens and standards) breaks down.