It works well for fast delivery, prototypes, and teams optimizing for short-term speed, but over time it tends to spread styling decisions across markup, making the system harder to control, reason about, and maintain.
Coming back a couple of years later to a broken build system when you just want to change a colour is no fun.
If you choose tailwind, nothing is stopping you from using components. You can choose to use predefined components, or you can create your own. Or some mix.
Tailwind can produce wildly different and highly customized results; Bootstrap generally cannot. They are different approaches, and preferences are obviously valid, but I do not think they are really comparable in that sense.
Personally, I think vanilla CSS is great, but Tailwind offers a similar level of versatility while also making the way styles are written more uniform, which matters when you are working in a team and do not want everyone reinventing the wheel.
And with components, I do not think the repetition is nearly as bad as people claim.
It just adds an extra layer of abstraction, which I happen to also find unnecessary.
Can't tell if you're talking about React or Tailwind
Bootstrap makes everything looks the same. With Tailwind, most of the times and besides the colors, you have to look in the code to know it's Tailwind.
Don't you get the same effect and functionality from simply adding style attributes directly on the elements in HTML?
Why is that approach considered bad practice, while Tailwind, which is effectively the same – but with shortened names – accepted as common practice?
As the article states, at least with Bootstrap you are sharing common behaviour with a single class name that can then be modified globally.
Personally I'd prefer to have up to 5-10 option of buttons for all possible cases. And it's not only visual simlicity, and not only easier to support but even help your own customers because they are not have to looking for 100+ different button styles.
> everything exactly the way i want
Can relate.