I wonder how much of this is just pining for a simpler time when the pages and apps you were building were just… smaller https://pdx.su/blog/2023-07-26-tailwind-and-the-death-of-craftsmanship/
Never tried Tailwind, but my experiences with Bootstrap made me appreciate CSS much more. Bootstrap makes easy things easier, and hard things harder, which is exactly the opposite of what I look for when I am choosing tools. Nowadays it makes even less sense, since IA makes easy things trivial.
@hejsna I can appreciate almost any “utility class” based CSS framework, but only for overrides and special cases.
When I want a Card, Dialog, Grid cell or Switch, I don’t want to guess what utilities are required to make one. Or risk missing a margin or hover effect. I don’t even want to remember in what order I put the attributes in the markup (cause I want that consistent too).
@naton the trick is to only make one of each, I think! You gotta pick your poison: write shared CSS and get slapped with “if I change this line I might break four similar components” or write atomic CSS and risk inconsistency. The second choice there is less catastrophic and easier to fix IMO but everyone has their own opinion.
I secretly think Tailwind’s biggest enemy is the yuck factor of long class names which is either a complete dealbreaker or a nothingburger depending on how you’re wired.
@hejsna Yeah, I get that the debate often involves BEM naming to some extent, so I can see your point there.
IMO it’s always a risk to change *anything* in CSS, not only due to uncertainties in use but also due to typos, cascade effects, browser behaviors etc. That’s why I use BackstopJS and a suite of test URLs to see what pixels were pushed where since my last edits. I catch many mistakes that way. I have not found a similar way to test 100% utility based markup this way, but I’m all ears.
@jgg oh I never got along with Bootstrap, either. But Tailwind is a different beast entirely. You’re not constrained to the samey pre-made stuff that Bootstrap comes with, you’re free to make pixel-perfect layouts with it and still send something ridiculous like 5kb of CSS down the wire. It’s really good.