An excellent overview from Josh of the pitfalls of using UI frameworks. I particularly enjoyed their focus on why developers often advocate for these tools, and how those needs are often misplaced. It's an even-handed appraisal, making a clear distinction between tools like Tailwind (which feel more like tooling than actual UI) and Bootstrap (a traditional framework), as well as pointing out where/when UI frameworks may still be useful.
On what Josh says when asked which UI framework to use:
I don’t use them, and I don’t think they should be used for most consumer-facing products. 😅
On how frameworks are often only properly understood by the teams that built them:
I remember hearing a designer say that only Google can make Material Design apps that look good. The Android App Store is full of third-party apps that use the same professionally-designed components but don’t look professional at all.
On why custom UI may take longer to get going with, but often leads to significant time savings in the long run:
Writing your own styles feels a bit to me like writing tests: it’s a bit slower at first, but that early effort pays off. In the long run, you’ll save a lot of time, energy, and frustration.
On the one reason that developers should reach for third-party components (but preferably unstyled ones, like those from Headless UI or Reach UI):
The web doesn’t have a very robust “standard library” when it comes to things like modals, dropdowns, and tooltips.
Nobody should be building a modal from scratch in the year 2022, but that doesn’t mean you need an enormous styles-included UI framework!
On the importance of developers learning about design:
Even if you’re not that interested in design, I think building a design intuition is a critical skill for front-end developers. Believe it or not, we’re constantly making design decisions in our work.