Live data from Hacker News

Shadcn/UI now defaults to Base UI instead of Radix

ui.shadcn.com

41–50 of 180 posts

Re: Shadcn/UI now defaults to Base UI instead of Radix

#42
post #8

For boring applications - do people prefer the copy paste approach of shadcn instead of a traditional ui library like mantine? The copy paste approach may be easily modifiable but creates new problems - ie now there is an upgrade ai agent for something that should just be ticking up a version number.

I’m leaning towards vendoring for all my new projects. Grabbing an off-the-shelf UI library is easy in the short term, but it’s usually overcomplicated, implements things I won’t ever need, is hard to tweak if/when you want to distinguish your app from the thousand others using the same library, and when you do decide to upgrade it, all your tweaks break in subtle ways. What I think would be the best approach is buil…

> building your own UI library

It's one more thing to maintain, and it's also difficult to push back on things. If you use off the shelf components it's much easier to say to designers and managers that a UX pattern is not available or not valid. You can point to the mature well known community owned UI library you use and make it authoritative. It's harder to do it if you build your own, suddenly each designer and developer is throwing things in there, adding features etc. It's also difficult to agree on the structure, so the components are well thought out, flexible, but also not so flexible to lose semantics. It's not an easy job, do you use slots, composition, rendering callbacks, there are too many decisions and you spend time building the UI library instead of actually shipping features.

Re: Shadcn/UI now defaults to Base UI instead of Radix

#44
post #18
post #10

Earlier quoted context omitted.

Martine just straight up sucks. Vendoring your components gives you the best of both worlds. You get a full component library but retain the ability to modify them as you want. Your AI agent claim doesn't make any sense either. When upgrading normally your component just gets rewritten on disk. When switching from radix to base ui, a more comprehensive approach is needed.

The ai agent “claim” is from the webpage that is linked to: When You're Ready to Migrate You don't need to migrate. But if you want to, we built a skill for it: pnpm dlx skills add shadcn/ui Then ask your coding agent: migrate accordion to base-ui

This is just an ongoing trend to address coding agents first in documentation, and people / manual methods second.

Re: Shadcn/UI now defaults to Base UI instead of Radix

#45
post #8

For boring applications - do people prefer the copy paste approach of shadcn instead of a traditional ui library like mantine? The copy paste approach may be easily modifiable but creates new problems - ie now there is an upgrade ai agent for something that should just be ticking up a version number.

As grug, I prefer the paste approach

Re: Shadcn/UI now defaults to Base UI instead of Radix

#46

Tangential but does anyone an have opinion on Base UI vs React Aria? Trying to decide between the two atm.

Personally I'd prefer React Aria; I don't have the patience to try understand why suddenly everyone is rushing to adopt Base UI instead of Radix which itself was once suddenly the thing everyone rushed to instead of Stitches. Having a library not in anyway related to that to me feels like a big pro. I have found React Aria to be very good. I really like how its a set of hooks, a set of premade components using said h…

> why suddenly everyone is rushing to adopt Base UI instead of Radix

MUI (who started Base UI) hired the Radix "original" developers and they were pushing that as it being Radix v2.

Re: Shadcn/UI now defaults to Base UI instead of Radix

#47
post #22
post #3

That's great. Started using Base UI early on via 9ui [0] and found the primitives very pleasant to work with, especially if one wants to compose more complex components from other Base UI components. Maybe Shad can reduce some of the dependencies they rely on now. [0] https://www.9ui.dev

What's the difference? All of these component libraries look the same.

UI libraries are the new Linux distributions ;-)

Re: Shadcn/UI now defaults to Base UI instead of Radix

#48
post #8

For boring applications - do people prefer the copy paste approach of shadcn instead of a traditional ui library like mantine? The copy paste approach may be easily modifiable but creates new problems - ie now there is an upgrade ai agent for something that should just be ticking up a version number.

Ticking up a version number is all fine and good until it requires a dependency upgrade you aren’t ready for. If for example you wanted to upgrade MUI from 4 to 5, you’d find react 17 wasn’t supported. And if you weren’t ready or able to upgrade react, then you’d just be stuck using a UI library going more out of date by the day.

With shadcn / the copy paste format, you’ll almost never see that happen. The button shadcn provides for example is just css / tailwind. And if you did ever for some reason want to bring in a dependency for your button component you wouldn’t have to consider its effect on your other UI elements. The rest of your components can live independently (for the most part)

We have customized UI components we got from shadcn and now some use radix and some use base ui, and some have other dependencies or no dependencies at all. Properly tree shaken this is not a big deal at all and we can upgrade components individually as needed.

For boring applications this may be a bit much. But even then if you wait too long and mantine falls behind more than a couple versions, who knows how easy it would be to get your whole project up to date.

Post reply on HN