Designing UIs is hard, especially if you’re a backend developer. When bootstrap came along everybody was cheering. And so did I.
No more wasted hours on fiddling out the interface. Look up the documentation, copy&paste the examples and adjust to your needs. It simplified everything for the non-designers.
But it also crippled our already modest design skills. It made us lazy.
Before bootstrap, we were at least trying to make things look nice. Now we’re just changing a few variables here and there pretending it’s different. Only it’s not.
Because bootstrap is a component-based framework, everything that comes out of it looks and feels the same. Forms, buttons, alert screens, proportions, modals, everything.
Tailwind doesn’t have pre-built components. You have to unleash your inner designer everytime you want to build something new.
Prototyping with tailwind is slow. Painfully slow in the first days. You have to always have the documentation by your side to look stuff up. There are so many utility classes! But fear not.
Once those few days have passed, everything gets easier. I would even argue that tailwind has a shorter learning curve than bootstrap. Because you type in every class on your own, rather than copying&pasting full blocks of code from one place to another. All those tiny utility classes get ingrained in your memory real quick.
About the clones you end up with by using bootstrap, yes, you might say that it comes down to laziness and lack of creativity. That you can choose to use as much or as little from the framework.
And I agree.
But I, for one, do not mind being pushed towards becoming more creative. By not having a full blow set of components, tailwind does just that.