Live data from Hacker News

Shadcn/UI now defaults to Base UI instead of Radix

ui.shadcn.com

171–180 of 180 posts

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

#171
post #119

Earlier quoted context omitted.

Its only distracts the distractable. Does anyone ever read product announcement blog posts like they were great literature? Ive always just skimmed, theyve always been throwaway writing to me. I’d rather the humans spend more time on the actual creative challenges in a project.

tldr; continue to cede ground on the slippery slope. did i get that right?

Language is descriptivist not prescriptivist so yes, exactly.

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

#172

Earlier quoted context omitted.

The issue is that you can't trust that every word of the message was intentional due to how much Claude will usually add various levels of nonsense, some more obvious some less to your voice or requests. Considering how much Claude alters the meaning of what I want to communicate I wouldn't trust the accuracy of that output right. And I use Claude a lot, 24/7, but not for things like that. And I appreciate how much i…

LLMs literally are incapable of writing in the way humans are. Generating a string of tokens is a completely different task than composing prose be it fiction, documentation, or product releases. It would take an insane harness on the par of a complexity of a coding harness to write at the level of college graduate. So when I see someone saying LLMs are suitable for this use I must assume that they don’t think what t…

Literally incapable? This is literally false, as you can easily fine tune models to write exactly like you if you so choose.

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

#173
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 never understood the copy paste thing. Shadcn just reeks of a fad, and even after doing copy paste and trying it, I didn’t see what the big deal was. But enjoy it, y’all. One of the benefits of AI is that HN isn’t clogged with talk of JavaScript frameworks as much

You own the code, not the library, hence you can fix whatever you need instead of relying on them to fix it.

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

#174

Earlier quoted context omitted.

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 sha…

MUI v5 absolutely supported React 17 though. Unless you're thinking of React 16, which hadn't had updates for almost a year when MUI v5 released.

Oh yes you are right. My bad. I got my dependencies backwards. We were using react 17 and wanted to upgrade to 18, but first we had to migrate an entire app on MUI v4 to v5 first since v4 was not supported by 18. And it was an upgrade full of breaking changes.

My point still stands that having a UI library like MUI deeply ingrained into your app can cause dependency and other issues like this. The speed you get upfront can bite you if you don’t plan carefully. Sure there are steps we could have taken to avoid such a mess. But that’s not how things often work out.

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

#175

Earlier quoted context omitted.

MUI v5 absolutely supported React 17 though. Unless you're thinking of React 16, which hadn't had updates for almost a year when MUI v5 released.

Oh yes you are right. My bad. I got my dependencies backwards. We were using react 17 and wanted to upgrade to 18, but first we had to migrate an entire app on MUI v4 to v5 first since v4 was not supported by 18. And it was an upgrade full of breaking changes. My point still stands that having a UI library like MUI deeply ingrained into your app can cause dependency and other issues like this. The speed you get upfro…

Still not sure if the alternative of vendoring like Shadcn, where a migration like this requires a black box probability machine to do the migration for you is any better.

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

#176

Earlier quoted context omitted.

Oh yes you are right. My bad. I got my dependencies backwards. We were using react 17 and wanted to upgrade to 18, but first we had to migrate an entire app on MUI v4 to v5 first since v4 was not supported by 18. And it was an upgrade full of breaking changes. My point still stands that having a UI library like MUI deeply ingrained into your app can cause dependency and other issues like this. The speed you get upfro…

Still not sure if the alternative of vendoring like Shadcn, where a migration like this requires a black box probability machine to do the migration for you is any better.

My understanding is they made an LLM skill for updating because it’s trendy and people are gonna point an agent at it anyway. I think the winning idea is you can update components in your design system piecemeal instead of needing to do a Migration.

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

#177

Earlier quoted context omitted.

My main gripe with Shadcn and, well, most UI libraries nowadays, is that they are reinventing the wheel for like a thousandth time. I’m trying out Ark UI on a side project. They do have some genuinely useful components, like tags input: https://ark-ui.com/docs/components/tags-input They have a tabs/“segment group” component with a nice animated active element indicator which would probably be tricky to implement: htt…

I think this is really an indictment of the platform. Much more stuff should be covered by the browser.

I vote we bring back next: https://ark-ui.com/docs/components/marquee

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

#178

Shadcn is great until you want to use it

Why ?

Like those "HTML Templates" of the early 00s where the demo looks amazing but when you copy and paste it all into your setup hardly anything looks the same.

Your outer CSS and FE framework isn't accounted for, and often the overall layout doesn't work / isn't responsive.

Then you go to add new components... Suddenly you are missing entire CSS files that were not included in the last thing you pasted in. Gotta find those. But the versions have changed in 1 but not the other.

Dropdowns don't look the same in v3 but the styles for all form elements need to be v3 in order to use the modal overlay.

You end up hunting down JS and CSS files, versioning down markup, eventually you recall why npm was invented.

Now the hunt really begins - whose npm do I use? All Google searches point to the official sounding "shadcn-ui" - oops, despite millions of downloads there's a deprecation notice - the other non-namespaced one with an almost identical name is the correct one. But, oops! Tailwind needed.

Now the hunt really begins - How do you install Tailwind????

Lol and I wish I was joking when I say:

HOW DO YOU FULLY INSTALL TAILWIND AND SHADCN

The answer is: You can't. There are varying degrees to what those words mean and it's a wild west within a wild west.

...is the main reason.

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

#179

Earlier quoted context omitted.

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…

To me, that's the value of shadcn (conceptually) - it's nothing more than a tool to bootstrap your own UI library. It let's you copy in snapshots and change/edit/refine as you go. You own the UI kit the moment you copy it in. I see Shadcn 'upgrades' as nothing more than a stranger's PR to my UI kit, which usually means useless noise, unless there's a specific feature/bug that I need.

Honestly that’s about the only thing I like in shadcn. It makes scaffolding your UI kit extremely easy, but then you own it and can extend it in whatever way makes sense for you. Unfortunately I’m allergic to Tailwind, and React-only makes it a no-go for me, too :(

There are alternatives, of course, but what I’d like to see is a kinda unified component API spec that you can implement however you like, which both humans and AI can pick up without having to learn whatever idiosyncratic props you might have chosen. So I guess, I’d like to see other libraries use shadcn props with “sane”¹ implementation under the hood?

(¹ – in my case, just plain old Svelte components with inline CSS and/or CSS modules :-)

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

#180
post #42

Earlier quoted context omitted.

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 d…

It is true, yeah. But it allows you to own the brand identity, which is kinda useful if you have a brand.

I think we’ve found the holy grail with one of my clients recently. Our UI kit follows https://mui.com/ wherever makes sense, but we implement the components ourselves. This means (1) we don’t have to make too many architecture decisions – we just do whatever MUI does, and (2) it’s fairly easy to push back against adding features that don’t add a lot of value and deviate too much from, well, whatever MUI does.

Post reply on HN