Comment by naasking
17 hours ago
From: https://nuejs.org/docs/
> Utility frameworks like Tailwind are not design systems - they're just inline styles with better ergonomics. True design systems express visual harmony through mathematical relationships.
Yes, Tailwind is inline styling with much better ergonomics. Why is that not enough?
Yes, you may not end up with a coherent, harmonious design governed by mathematical relationships, but that's not an argument that the resulting product is not perfectly fine, nor is it an argument that your productivity is higher if you spend a bunch of time to learn how to define "visual harmony through mathematical relationships" as expressed in CSS, then go through the process of designing such a system that's suitable for your app before you even start building your components. The fact that you are typically developing your UI in concert with other features of your program is exactly why front-loading this design system effort probably results in wasted work as you rapidly iterate and evolve both. I think this is why Tailwind has become so popular, because it requires almost no front-loaded effort, and so iteration is rapid.
If you're not already persuaded by puritanical aesthetics around this stuff, then justifying this sort of front-loaded effort will probably be difficult. If it does turn out to be difficult, that probably means this approach will have a smaller niche than perhaps you're hoping for. Best of luck!
You seem to mostly be arguing for a "~fine, but at least it was fast to develop" outcome, which is certainly one choice. But doing this sort of upfront work is for when you're not just looking for ~fine but something more. That's why sometimes you have to "waste work" to find better ways, even if it takes longer time. R&D basically, but for design.
But there is a time and place for it for sure, not every project is about coming up/producing something "perfect no matter the time/energy". Similarly, not every project is about "getting something OK out there as long as you get there fast".
R&D is supposed to produce something of value. If you agree that iterating rapidly using something like Tailwind can get you ~80% of the way towards some ideal design, do you think that last 20% is worth the upfront cost? I think there are very, very few cases where this will be true, and even for those cases, you can get first to market using the rapid iterated design and then refine it more towards the "ideal" before the upfront design approach even gets out the door.
Nue's approach to styling sounds nice in theory, but it seems like it's only a good fit for a domain you already know well, where the structure of the solution is already well understood and so the upfront design cost is actually minimal. For instance, the example project is a blog, a thing that's been around for like 20 years and whose structure, components and features are already well understood. I just don't think that's very common, but if I'm wrong I would certainly like to someone tackle a project that they don't understand using this approach.
Yes, Tailwind is inline styling with much better ergonomics. Why is that not enough?
Ideally something better would replace React, sounds like that is their ambition from their home page, not replacing Tailwind.
I think the question they want to ask is: Is React too much?
I think their goals are to replace both because they clearly don't like atomic CSS either. I have no comment on the React part as I don't use it, but atomic CSS is very useful.