Genuinely out of everything ShadCN has been a blessing. It just makes frontend development so much more easier! It's not AI you need to fear but libs like ShadCN that'll lower the bar for quality UI for everyone
It's called democratization of knowledge. As time goes by things get easier and less tedious/mundane. Ultimately, we automate them and move on to next interesting things.
@@IvanRandomDude The knowledge to build graphs like this has existed way before these libraries, though. This isn't democratizing any knowledge, it's literally just lowering the bar for entry
More credits should be given to Recharts team, shadcn contribution is just a very thin wrapper. Nevertheless, now recharts will get more eyes on it and hopefully improve faster.
This. I have used recharts alot recently and can confirm that shadcn didn't change much, apart from styling and making it play with the UI library nicely. Still, I do appreciate everything shadcn does - I love the UI library and am using it for almost oll of my projects!
Wow. Yeah, I've never heard of it but it looks awesome. One of the biggest struggles I have with d3 is that I feel like I'm constantly fighting a typescript type battle. How does Apache ECharts play with typescript?
Shadcn/ui did a great job consolidating these information together but worth calling out that most of the good stuff that Theo calls out in this video is mainly about Rechart the library. You can go very far with Rechart as-is if you are not on the shadcn/ui stack.
"as someone who likes to waste time doing things that arent needed" "when i was young we would use handmade spears to go out hunting" "i built this chair by myself in 100 hours to save myself some money"
@@okkashaally2115 Modern web animation has nothing to do with charts, I'm saying that charts should not be rendered using SVG or even HTML UI, in fact if you open the shadcn beautiful charts page you will see that the page is lagging as hell.
There are many trade-offs between the two. Canvas is faster, however it doesn't let you inspect, it's not HTML. SVG let's you attach any node to any of its nodes.
What I like most about shadcn is that it is taking the best available tools, such as Recharts, and building a robust ecosystem based on its design system. Good Review @Theo
I must say that the merit of shadcn in this case is changing the styles of Recharts and including it in its ecosystem, because basically all the work is done by Recharts.
5:28 anything beyond that would be astronomically stupid because English is not the only language in the world. I remember that some stupid library/framework for GraphQL back in the day(i dont remember which one) had implemented English noun pluralization rules in the library itself. You were supposed to write your schema in singular form and it "was smart enough" to generate plural names for collections of those objects. I loved my "pracowniks" and "grupaPracownikows" arrays (not really).
Just looking at Tremor’s line graph, selecting a node does (like chadcn) shows a popover with the selected value, however, the popover isn’t smart enough to not block the actual point on the graph. Chadcn’s popover actually moves away to the side.
The idea behind shadcn sounds cool, but I don't get how the components folder would stay organized if everyone just goes in and adds / edits their own component. Maybe I'm completely wrong but I can see it becoming a complete mess in a large team. And also If I have to install some packages then I would rather install a component library. But I think I'm missing something there too.
It's overhyped. Get kinda messy and you will spend a lot of time making something custom, which already exists in library like Mantine. Mantine is much better and feature complete.
@@dobroslav.radosavljevic That's the whole point of it, customizability. Sometimes you don't want to spend hours reading documentation figuring out a hacky way to customize a component in Mantine/pick a component library when your designer wants a very specific change that is not supported.
@@hello19286 You can customize Mantine too. It's highly customizable via Provider or component props. You can even use Mantine as headless framework and style everything by yourself with taiwind or anything else. It has awesome prebuilt components, which cover almost every use-case you might need in your applications. If not, you can easily build your own. There is a big community and a lot of community packages around Mantine for different components and integrations with libraries. I prefer this over shadcn. And I build whole startup with shadcn. And I also built a lot of applications from scratch with Mantine. So I have good comparison how Mantine is much better. But still my opinion. Other people just don't like Mantine because of design I guess.
I love Shadcn because it gets rid of the need to design frontend component and rather focus on the application logic and interactions of your site. Game changes for people who are not even doing UI/UX design
I don't know, i will still use echarts over this, and the animations from this charts already exists in things like apexcharts, over all i didn't understand what is so different about this library
Shad charts? Sign me up! I like recharts in terms of functionality, but the DX is just awful. Data forrmats are weird, there's no proper typescript etc. Nice wrapper around that, that also does beautiful styles sounds great.
I still think mantine has a 200x better DX than shadcn. I’ve tried to give it a real shot on new projects multiple times due to the hype train surrounding it but I always end up going back to mantine
I'm on the other side of the spectrum. Can't stand mantine - it's just mui reincarnated to me. Sure, it's better than mui, but the philosophy behind is the same: the library and the component drive and decide UI - they are hard to extend and configure outside of what authors have allowed. 11 colors in your palette? or 8? well, you're outta luck, you'll have to fight mantine from the get go. headless ui libraries are so so so so much better in that regard. you use what you want and how you want. you style in whatever style suits you. there's fewer layers of abstraction between you and end html elements rendered on screen. you're commanding your ui to much greater extent than with mantine, chakra, mui...
@@WojtekPoroslo I appreciate your perspective and understand the premise of your message! One thing to note is that you can easily extend the color palette and every single component's styles extensively using the themeing solutions mantine has to offer. However, you're right, its themeing features is obviously not on the level of a headless library.
Because you are missing the point of those two. Shadcn is for making component libraries where you edit the scaffolded code to your needs. Mantine is just another ready to use component library.
So we installed card and button and chart to add a chart... We then manage the deps for all those... We then do what people are saying shadcn is good for... Alter a component directly for ultimate customisation... So we modify Card. Now our chart looks like shit and you go through again making everything look right. Honestly whoever thought copy pasting full component sets into a project is a good idea never worked on a project woth more than 10 views.
Recharts is extremely flexible. Compared to ChartJS that made me bang my head on the wall all the time, that in my job I begged to refactor all our charts with Recharts and it was so easy to do.
There's definitely other places you can look while throwing in similar tech influencer's to the list, just don't mention them or your sources until asked obviously. :^)
oh yeah, we definitely needed yet another charts library. wouldn't it be great to get 20 more before next year. true innovation in the javascript community.
" *349* packages installed "...for some friggen charts. You know, if you wrote like 20% of the code that makes your project do what it does, and the other 80% was imported, is it really *your* project at that point? If I put together some Ikea furniture, am I a furniture maker? Am I the same as the guy who cut raw lumber into shape, sanded it, finished it, and fit it together into a piece of furniture? I think some of the imposter syndrome a lot of web developers have comes from the fact that you wanted to be like the carpenter, and you let people think you're like the carpenter, but really most of what you do is more like assembling Ikea furniture.
@@MrJloa in my experience SVG starts to lag if you work with many datapoints. echarts has a sampling parameter that can help with performance. you could also switch to canvas if you want. our team uses echarts to display scope signals with millions of datapoints with no issues.
I really enjoy your channel. Being a Ukrainian, I suffer from electricity shutdowns, and the first thing I usually do after a shutdown, I check your channel. Thank you, you really help me to stay motivated
It's not a chart library, doesn't compare to any of the libraries mentioned at the beginning. For animations they're only using css, lucide is an icon library. This is probably the most clickbaity channel I've ever seen.
I'm yet to use shadcn, but I have a confusion: if I'm not mistaken, it allows you to copy/paste a component to "make it yours". Doesn't that mean that basically, we'll be storing a "snapshot" of the library at the time? One good thing with UI frameworks is that they get updated, add features, etc., but if we copy/paste the thing, we're basically stuck with a verion almost forever. Is that how it works?
There is an (experimental) diff command that lets you see what has changed in a newer version of a component. If you've customised the component you can pick and choose what you want/ need from the diff. If you haven't made any changes can also just import the new version and repalce the old.
We don't really copy paste the entire library. We copy individual components that we need from the library. Normally with updates in UI libraries they add new components. Existing components hardly get updated if they are made well in the first go and are feature complete, which they usually are. So with ShadCN you can copy paste whatever component you need and as new component gets added to the library, you can add that as well. And if by any chance the existing component needs an update, they have command line tools to update everything that needs to be updated with one command. But you'll almost never need to do that. Hope that answers your doubt.
You are 100% wrong, the language they used was absolutely political. They are 100% correct to reject political wording and you are being a coward to appease the woke. Normal people do not get upset with such unimportant matters, nor call them “outdated male language”.