UI Libraries Are Dying, Here's Why

Поделиться
HTML-код
  • Опубликовано: 12 янв 2024
  • I still get the occasional question about Material UI, Chakra, Bootstrap, and more. I think Shadcn/ui represents more than a trend, it represents a move away from UI libraries as a whole
    Check out my Twitch, Twitter, Discord more at t3.gg
    S/O Ph4se0n3 for the awesome edit 🙏
  • НаукаНаука

Комментарии • 769

  • @rianfuro4088
    @rianfuro4088 4 месяца назад +1154

    Love how we went full circle on dependency management there.
    From copying files on the internet into our own project, to complex package management and versioning, right back to copying code from the internet into our own project 😅

    • @ninhdang1106
      @ninhdang1106 4 месяца назад +190

      We have been going full circle with everything in frontend lol

    • @TheTigerus
      @TheTigerus 4 месяца назад +69

      You could always copy code from NPM to your code, you just decided to not do this. Every dependency installed from NPM is literally copy pasted full source code into your project.

    • @shinoobie1549
      @shinoobie1549 4 месяца назад +3

      hahaha Yes! I was about to say this was the EXACT experience using Bootstrap when it just came out

    • @rianfuro4088
      @rianfuro4088 4 месяца назад +12

      @@TheTigerus I'm not saying that you couldn't, but I'm talking about what the community at large advocated for.

    • @user-qr4jf4tv2x
      @user-qr4jf4tv2x 4 месяца назад +8

      just like clothing. trends are bs

  • @dancarter5595
    @dancarter5595 4 месяца назад +271

    Excellent, now I have 40 new UI components in my codebase to maintain.

    • @Sorkstryparen
      @Sorkstryparen 4 месяца назад +11

      Haha! Thats very true 😂

    • @user-gi8ud2jn6z
      @user-gi8ud2jn6z 3 месяца назад +29

      My guess is the final project will look like an early geocities page, because each component from a different author has a different idea which fonts, colors, sizes, margins etc. to use.

    • @atava85
      @atava85 3 месяца назад +9

      What a mess AI-generated programming is going to be (for those who are willing to use it)

    • @dancarter5595
      @dancarter5595 3 месяца назад +1

      @@atava85 huh?

    • @atava85
      @atava85 3 месяца назад +4

      @@dancarter5595 What I meant is that this practice of copy-pasting AI-generated code (not only for UI, but also for logic) looks very brittle to me... how can you entrust any part of your business application to this? We are accustomed to not be 100% sure of our code even with heavy testing... piecing together some pregenerated bits like this looks terrible to me (personal feeling). (I was expanding on the "v0" part of the video)

  • @UbuntuBanksie
    @UbuntuBanksie 4 месяца назад +55

    I’m not convinced that this is better than a UI library for small/medium scale projects

    • @lunarcdr3083
      @lunarcdr3083 3 дня назад

      It depends, as always. There is no one solution to rule them all.

  • @proosee
    @proosee 4 месяца назад +421

    Correct me if I'm wrong, but that seems like a one way road to unmaintainable codebase, because I can see how it is faster to build something from scratch, but changing it after time is a frightening idea, especially without proper tests. It reminds me of old days where there was that one brilliant team that decided to fork library to make few changes, years goes by and that one library is becoming a liability which no one wants to touch and it contains old bugs which were fixed & forgotten in the rest of the world. And I've seen this many, many times in different environments.
    If my only goal was to build one perfect app based on perfect requirements that will never change then it's fine: I will use AI tools, generate tons of code, change it a bit and I can even minimize/pack it, the heck, I don't even need a git repository! It will never change! But we all know the world doesn't work like that, requirement change or are wrongly interpreted, that's why we care about maintainability. Average dev spends 8 times more time on READING code than on WRITING code, that's why every line of code in your repository is a liability, so you need reeeaaally good reason to put one in.
    But, well, maybe AI tools will get smart enough to comprehend such codebases and will make changes for us, but for now, code is for humans, and humans are limited, limited in memory, limited by mistakes they make, limited in time they have, so you need to keep it simple and clean if you ever want to change it in the future.

    • @reed6514
      @reed6514 4 месяца назад +47

      I never read code. If there's a bug, i erase everything and restart.

    • @Paul-zh2jp
      @Paul-zh2jp 4 месяца назад

      @@reed6514 BASED

    • @harryhack91
      @harryhack91 4 месяца назад +27

      @RajinderYadav But you should know that's not how the world works. When was the last time a client switched to your company for maintaining a project and you actually got any meaningful Knowledge Transfer from the previous maintainers? From my experience any documentation provided is highly outdated and you basically have to fuck around and find out to build it and make any changes. And Unit tests are an endangered species as well.

    • @inwerpsel
      @inwerpsel 4 месяца назад +7

      "Average dev spends 8 times more time on READING code than on WRITING code" This is exactly why an approach like ShadCN's can work better. If you're committing to only installing code as a library, and accept every single line of it that is not relevant to your use case, you'll end up reading (and debugging) code that is significantly more complex than what you need, all the time.

    • @proosee
      @proosee 4 месяца назад +34

      @RajinderYadav so I need to copy the code, maintain it, document it, write tests for it? How's that simpler than reusing components from library that are already tested by automatic tests as well as millions of users around the world? I love when people make mess in codebase and then call it "skill issue" if someone is lost in that spaghetti.

  • @quadmasterXLII
    @quadmasterXLII 4 месяца назад +154

    THis is going to be hell to maintain lol. 100x boost in number of lines of code a developer can inject into the repo per hour, no change in number of lines of code a developer can read in the repo per hour.

    • @TheBrister123
      @TheBrister123 3 месяца назад +3

      Exactly. I don't mean to bash this stuff, its great but I'm using a 3rd. party tool to build blazor apps. Less lines of code, I have less time to read them and I don't really care about ownership. The app works! Great, on to the next one...

    • @Joker-fj8hg
      @Joker-fj8hg 3 месяца назад +2

      Wait until AI assisted maintenance becomes mainstream

    • @royronalds
      @royronalds 3 месяца назад

      I like the approach. I also wonder about the optimization of resulting bundle size and tree shaking when every app has to handle that itself.

    • @nontonn
      @nontonn 3 месяца назад

      I also think the same until
      - we need to custom
      - change bootstrap to others and might have to rewrite the whole. its also plain
      mostly open source still need to maintain such as minor or major upgrade or even sunset.
      I not sure when we easier to develop but not difficult to maintain. write our owned code might be?

    • @AlexRodriguez-gb9ez
      @AlexRodriguez-gb9ez 3 дня назад

      @@TheBrister123 Just delete your app and remake it, instead of trying to edit it.

  • @rianfuro4088
    @rianfuro4088 4 месяца назад +119

    I end up writing a lot of administration ui in my day job, so i have a different perspective on this:
    I don't need all of this customizability for writing those kinds of UIs because nobody cares or pays for that.
    What I need are UI components that look good by default and are as simple to use as possible. Bootstrap is perfect for that.

    • @witchmorrow
      @witchmorrow 4 месяца назад +1

      fair point

    • @user-sh5qp6uu1e
      @user-sh5qp6uu1e 4 месяца назад +5

      You should always do a little bit more than needed. That's how you become THE GUY

    • @rianfuro4088
      @rianfuro4088 4 месяца назад +26

      @@user-sh5qp6uu1e Fair point. I prefer to be THE GUY that does the complicated features in less time and adds more convenience features though.
      In my experience that's appreciated way more by customers.

    • @dimlucas3931
      @dimlucas3931 4 месяца назад +10

      Completely agree. Customers and stakeholders don't care if you use the latest hot Twitter/Reddit tech. I've seen teams having to double the size of the frontend dev team to maintain their React+Tailwind+ monstrosity of a frontend while paying 5x the infrastructure cost. We get things done with Bootstrap and focus more on delivering high quality services where it matters.

    • @rand0mtv660
      @rand0mtv660 4 месяца назад +8

      Hmm I think this depends on your clients and projects. I work at an agency where we work a lot on dashboard UI projects that are either external or internal and we never use these UI libraries. They always end up blocking us in some way, whether it's styling which usually can be addressed, or worse UX which is usually harder to address because you have to fork the project or end up using some other component from some other package and style it. It also impacts designers and what they can do because it's not fun just assembling random UI library components and it's hard to know how much you can customize them as a designer to fit the project.
      We do still use libraries like Radix so that we get nice accessible headless components that we can control almost 100%, but fully styled libraries have been a pain point for us so we decided not to use them.

  • @RockRespawn
    @RockRespawn 4 месяца назад +600

    Haven't watched it yet but my guess is its prolly about shadcn

    • @deniswastaken
      @deniswastaken 4 месяца назад +22

      quite literally written in description.

    • @mirfan-2020
      @mirfan-2020 4 месяца назад +18

      I prefer tailwind+daisyUI nowadays. It's highly customisable and daisyUI provides some basic components to start with which are also highly customisable with tailwind unlike whatever the hell was mui

    • @JEsterCW
      @JEsterCW 4 месяца назад +9

      @@mirfan-2020 daisy is a big no to anything

    • @vvelarm
      @vvelarm 4 месяца назад +1

      ​@@deniswastaken sad bully

    • @vvelarm
      @vvelarm 4 месяца назад

      ​@@mirfan-2020 i want to move away from that approach, but I like it, and use it extensively at this point.

  • @SasLuca
    @SasLuca 4 месяца назад +118

    Nice video, tho it is not clear to me how you deal with updates if you don't use libraries anymore.
    To me that seems like the main point of having these as libraries/packages.
    If there is a bug in one of these components I am copy-pasting, and they fix it in the meantime, how do I update? How do I know there is an update?
    Would have been interesting to see that talked about.

    • @Sammi84
      @Sammi84 4 месяца назад +17

      I feel this is a symptom of this new iteration of web ui reaching maturity. People aren't worried about getting updates for their components because they feel they're already good enough.
      And things are understandable enough that fixing anything is something people are able to do themselves.

    • @JZL003
      @JZL003 4 месяца назад +2

      I guess so but if you also end up modifying your copy a lot, it might not always be obvious how to integrate their new changes

    • @billcox6791
      @billcox6791 4 месяца назад +17

      I work more on the backend so things are a little different, but, yeah, talking about this being “code you own” sounds like a nightmare
      There are times it’s frustrating to have to code around a bug or missing feature, but that’s missing the effort multiplying offered by packages
      If 100 companies use a package, it just takes 1 to identify a bug and the package to fix it for it to be fixed in 100 places
      With this, it has to be identified and fixed 100 times. They’ve in-sourced that maintenance
      My goal is to maintain as little code as possible. Sometimes that means building something small on top of a low level library, and sometimes that means building something big on top of a high level library
      So, this has its place, probably for smaller apps that won’t be adding much code this way
      Looking to the (near?) future, this will be viable for more projects when AI can own the app and its maintenance instead of just providing boilerplate

    • @JZL003
      @JZL003 4 месяца назад +2

      I feel like they didn't even try, or maybe I'm misunderstanding
      Even if they encouraged you to add in npm a package which has no code, but could interact with other dependency management systems like dependabot. When the package updates it won't modify your code but at least it tells you something changed you might want to look at
      The ai tools are fine I guess, because you're taking ownership of the code as if it was your own. But will people?

    • @KaKi87
      @KaKi87 4 месяца назад

      I'm wondering the same thing. Even if the CLI and website would offer some kind of merging tool, it would still be painful.

  • @Descent098
    @Descent098 4 месяца назад +33

    Spent a lot of time in public sector and bootstrap is %90 of what they use. We had ~1k websites at the uni I worked at, all built in bootstrap. Likewise azures power pages is all bootstrap, which was their new site builder this year. I think it's easy to get caught up in the react world, and there bootstrap is less popular, but these ui libraries are honestly still growing, just in different markets than what you see Imo

    • @thagreatone402
      @thagreatone402 4 месяца назад +18

      Exactly. Theo really lives in the react bubble. I'm a subcontractor for a lot of private international companies and I can tell u that bootstrap isn't going anywhere. Social media Web developers have a sickness for shiny toys.

    • @yabikami1165
      @yabikami1165 4 месяца назад

      @@thagreatone402 just use vanilla css or tailwind ... bootstrap is dead

  • @filipesommer8253
    @filipesommer8253 4 месяца назад +91

    Cool insights, thanks! But am I the only one doesn't buy into the "copy instead of npm install" thing? Shadcn depends quite literally on radixUI, which itself is installed in the background for you. I wonder how many files you would need to copy if we also wanted to let users copy vs. install radix into their components

    • @hariharansreenivas6752
      @hariharansreenivas6752 4 месяца назад +5

      Yeah but with radix you only install a specific component not the whole radix library.

    • @michaelhildebrand-faust4039
      @michaelhildebrand-faust4039 4 месяца назад +4

      Right?? I think the critical question is what level of aggregation is too much to have it done for you. What are the reliable "primitives" (to use an over-used term) that we should standardize on? Maybe ShadCN represents a better answer to the question than a lib like MUI. But I don't like the framing of "UI libraries are dying".

    • @alanscodelog
      @alanscodelog 4 месяца назад +1

      Yeah I'm not buying it yet. I looked it up and I would have to digest what I copy PLUS the underlying radix dependency. And many components are broken down into a dozen little component parts which, for example, with vue, it's not a good idea to have a bunch of component instances like this. If they didn't have a dependency I would be more sold. But idk I'm not sold on ANY component library. They all suck in their own ways. At least I know how the ones I make suck, I guess.

    • @proosee
      @proosee 4 месяца назад +1

      I think that frontend devs are going through all the problems IT had in the past and try all the solution that were already tried. I mean, there is nothing particularly bad about it - maybe previous generation of devs have missed something, maybe frontend is different from other software, but I kinda don't believe in it and will just go with approaches that are well established (in software engineering in general, not in frontend) and let them experiment on their own.

    • @filipesommer8253
      @filipesommer8253 4 месяца назад

      @@hariharansreenivas6752 good point! I confess that I haven’t tried stuff like MUI yet to know if you can install a single component or not there

  •  4 месяца назад +211

    With real projects, it's not about how quickly you can start, but how it will be maintained and developed. Second thing: a lot of indirect dependencies = hell of dependencies and problems for teams that have to use some common system design or library (for example: problem with tree shaking).

    • @anttihilja
      @anttihilja 4 месяца назад +15

      The deps are Tailwind and Radix, pretty far from hell. It's your code, not a black box. How's that not maintainable?

    •  4 месяца назад +4

      @@anttihilja but it will never be just only Radix + Tailwind.

    • @Dev-fo8zt
      @Dev-fo8zt 4 месяца назад +3

      @ So you just build everything from scratch with vanilla js?

    • @anttihilja
      @anttihilja 4 месяца назад +4

      @ If you don't like the other deps you can remove them, because it's your code. You rather have the deps a black box you have not control over?

    • @muslim8622
      @muslim8622 4 месяца назад +2

      The purpose of this new "librarires" is to have full transparency and control about the code you add in your project.
      Every dependencies are explicitly specify and replaceable
      We add what we need, we modify what we want
      If the project end up into hell dependencies, it's just a skill issue like a developer that copy paste every from stackoverflow in his codebase without understanding what the code does

  • @lakelimbo
    @lakelimbo 4 месяца назад +11

    I like Shadcn-ui, and use it a lot (well, shadcn-svelte more specifically), but it only works with frontend frameworks, when I'm not doing that, IMO Bootstrap (or Bulba, whatever) is still the better option simply by the fact that I can customize it SCSS, or I can just drop the CDN link in the and don't need to worry about anything else.

  • @pencilcheck
    @pencilcheck 4 месяца назад +51

    I think it really depends on the person developing the code and who is managing it and what is the goal of the project. I would still use UI framework and library for developing UI in a foreseeable future for my projects.

    • @GetFitEatRight
      @GetFitEatRight 4 месяца назад

      Or if you're already using bootstrap on a 5000+ page site. We just dropped jQuery from the entire website. In the long run he's right though.

  • @rapzid3536
    @rapzid3536 4 месяца назад +27

    I also want to toss in that I think Vercel is a blight on the OSS ecosystem. They sell hosting, period. But their VC funds have allowed them to snatch up tons of OSS projects in an effort to control the narrative, acquire mind share, and steer development towards their business model.

    • @TheSaintsVEVO
      @TheSaintsVEVO 3 месяца назад

      Does “blight” mean good or bad

    • @rapzid3536
      @rapzid3536 3 месяца назад

      ​@@TheSaintsVEVOcolloquially it does not

    • @megatronusv2215
      @megatronusv2215 3 месяца назад

      ​@@TheSaintsVEVObad. Disease

    • @user-qp2cn5py7f
      @user-qp2cn5py7f 3 месяца назад

      @@TheSaintsVEVO It means bad

    • @TheSaintsVEVO
      @TheSaintsVEVO 3 месяца назад

      @@user-qp2cn5py7f thanks

  • @zekrodev
    @zekrodev 4 месяца назад +17

    I also started building my first pages using UI libraries like bootstrap, and I learned a lot about CSS and general DOM styling by analyzing the classes bootstrap brings. Later on I used Material UI for Agnular, and there started my aversion to these UI libraries, because you sometimes want to style things in their components a little bit differently. And to to so, you either can't entirely or you need to perform some super ugly trickery (ng-deep, I hated it so much) to modify and customize these stuff. On the other hand, there are some very nice and highly customizable component libraries out there, but then you need to literally study their way how to style and modify their components. So I just started do build my own components using Styled Components for React, which is a wonderful solution to be able to build modular components which you can copy from one project to another.

    • @stunna4498
      @stunna4498 4 месяца назад +9

      In my experience making your own styling components in real project makes things much worse. You want to ship your app as fast as possible. I can agree with you that these ui libs are sometimes hard to customize , but they give you everything that you need to start working on the application. What i suggest is pick a ui lib , try to customize it in a general way so all the other pages use the same components (ex : boostrap button btn-primary instead of blue is purple or modals) so everytime you use it you get the same for all components.

    • @tomtom2755
      @tomtom2755 4 месяца назад

      @@stunna4498 Don't even get me started on accessibility... It's better to use an unstyled component library and fulfill 90% of your needs than to spend ages with a custom component library

    • @bloozy85
      @bloozy85 3 месяца назад +1

      ​@@stunna4498 Bs. Customizing ui libs takes longer, than writing own stuff you can expand on in your desired way. Building dependencies is always not a good idea for starting up a business. Also when i think of UI libs that get updated nearly weekly doing things differently over and over ... it is most of the time a better choice to do things yourself. I hate that full service mentality, where you give everything in others hands.

    • @stunna4498
      @stunna4498 3 месяца назад +2

      ​@@bloozy85 well i can only speak for my experience . for example in my company we use alot of mui .Some components are hard to customize but you eventually overcome it and do it. Now building it from the ground up is a waist of time. I had a colleague who was said the same thing and created multiple customized components. everytime there was a change he had to waist weeks to fix it and making sure it would work in every single place you used that. No need to tell you how that project went. Unless there is a very good reason to make a component from the ground up , in my opinion it's a waist of time. sorry for my bad english

    • @bloozy85
      @bloozy85 3 месяца назад

      @@stunna4498 I think building components yourself can never be a waste of time, only because of the aspect of learning. If your companies dev, needs weeks to fix his own code, sry, then he is not a good dev :D
      But i see this a lot nowadays, devs can only copy & paste stuff and are not able to code basic things. And hey let's be honest, most of the UI lib stuff is basic stuff.

  • @zzkevinlim
    @zzkevinlim 4 месяца назад +30

    everything is dying except facebook's products, am i right?

  • @vibrantneon.
    @vibrantneon. 4 месяца назад +5

    Haven't done much react yet, I've been helping a friend with their project where they are mainly using Vue. I'm relatively new to the whole component UI structure and can see the benefit that it's more templated components that get created. Helpful video, and understand your point of view.

    • @reed6514
      @reed6514 4 месяца назад

      I haven't used any such library at length, but i did a couple prototypes with vue and it was nice.

  • @MisraPreetiman
    @MisraPreetiman 4 месяца назад +48

    Governments around the world still use technologies like PHP and dotnet, still relying primarily on frameworks like bootstrap (almost all Indian govt websites). They are not going anywhere, yet.

    • @curtisw0234
      @curtisw0234 4 месяца назад +28

      Dotnet is not legacy

    • @xtremescript
      @xtremescript 4 месяца назад

      ​@@curtisw0234Nor is PHP.

    • @Argomundo
      @Argomundo 3 месяца назад +3

      You havnt touched PHP in a long time have you?

    • @veerasinghindia
      @veerasinghindia 3 месяца назад

      @@justin.johnson Bootstrap if still popular outside India too....People are too much emerged in the react world, they refuse to see the simplicity of using Bootstrap....Imagine a major update in react, you have to again rewrite your application and creating builds....

  • @orcofnbu
    @orcofnbu 4 месяца назад +3

    if you own component code base that means you are responsible from maintaining that codebase too. if you manipulate them in a significant way, that means you need to test it from start like you build it from scratch.
    i'm using ul library because i do not want to maintain frontend code. most of the time i just need basic styling and basic styling does not need maintain.
    i dont think this will replace bootstrap.

  • @oziabr
    @oziabr 4 месяца назад +3

    I would really like to know what practical stuff can you make with any of your tools that I'm not able with pug+bootstrap.
    I've been asking around for some time, but haven't got any answers worth a second thought

  • @Jason-yr6fy
    @Jason-yr6fy 2 дня назад

    Great video, thanks for the amazing content. I'm learning so much from you!

  • @joshuagalvan7260
    @joshuagalvan7260 4 месяца назад

    Big upvote from me. This game me a lot of useful tools to use. I've never been sold on the traditional component libraries and enjoy having full control over the component myself and would spend time recreating components just to have them in my project and be fully curated by me. I love this approach and will be adopting this.

  • @JEsterCW
    @JEsterCW 4 месяца назад +15

    The only one lib that I'm using is NextUI, shadcn is highly overhyped, basically poor overlay on top of radix, which is unwanted abstraction, still better to just use vanillia radix. I overall would make all ui components from scratch, but i dont wanna spend to much time for every common ui component cuz i want to deliver functionality. Normally i still would make a design system with ui, but ui libs like shad are only good for smaller projects.

    • @Tanner-cz4bd
      @Tanner-cz4bd 4 месяца назад

      NextUI is great

    • @JEsterCW
      @JEsterCW 4 месяца назад

      @@Tanner-cz4bd Yup, it has kinda wack apis in some components, but its toleratable, all other ui libs that i have used in the past i had to quit after 3 days cuz how awful the api was with dx

  • @MichaelLazarski
    @MichaelLazarski 4 месяца назад +24

    1) I want to see the upgrade path of these new "build your own component libs" tools. I have not seen an automatic way of doing it
    2) None of these tools right now has good editable tables. Which is one of the hardest things to get right if you have bigger tables.
    3) I can see the push back to solutions of tailwind because of the 1) and how hard it is to upgrade your large codebase. Its just a matter of time when more and more people will run into this problem.

    • @kubakazimierczak6646
      @kubakazimierczak6646 4 месяца назад

      Can you elaborate more on "how hard it is to upgrade your large codebase"? I don't think I understand this point.

    • @MichaelLazarski
      @MichaelLazarski 4 месяца назад +1

      @@kubakazimierczak6646 When you have a large codebase with a lot of components and you use for example the color green you now must go through every component and check if this is that green (okay simple search) and check if that green would need to be changed. What we have done we went for example from "colors" to intent with css vars. So instead of saying class="green" we have class="success". This also helps with theming. The other problem is with breaking changes in tailwind and how things work together. This with the combination of "copying someone elses code into your code base and then extending it" is nothing new and was already not very maintainable back in the days were you would buy component libs from vendors.

  • @voidmind
    @voidmind 4 месяца назад +9

    Personally, I'm interested in UI libraries, but the reason I generally don't use them is that on most projects, I only need one component from it. That's usually fine if that's all, but what if I need one widget from UI library X and one from UI library Y (if not more). I'm now importing from big code bases that work differently, potentially add a lot of code to my bundle size, use different styles I have to customize, etc.
    I find that Bootstrap is another category than these component libraries, though. The main reason to use is to do responsive UIs without having to figure out the CSS for it yourself. That's still valuable for junior devs who have enough things to learn on their plate beside wrestling with the intricacies of CSS or Tailwind. But once you understand CSS Grid and container queries, responsive frameworks like Bootstrap feel like they add too much markup to your code.

  • @Imaginativeone_DF
    @Imaginativeone_DF 4 месяца назад

    It’s been far too long since I’ve seen you. I’m so glad to see your work again.

  • @zlatkoiliev8927
    @zlatkoiliev8927 4 месяца назад +5

    I very much agree! I even think this will soon become the new web standard, maybe in HTML6-7. I really hope we will have native components that look more modern, support light and dark mode, and the api allows to be styled better. For example the input select, date picker, checkbox, radio buttons. Those are all really annoying to be styled.

    • @HumanoAI
      @HumanoAI 4 месяца назад

      Yup, there are two things websites which you guys like to call Web apps or some of you call them apps. Anything running from the browser is a website regardless of what type of website it is. Even if you’re running logic on the back end, it’s a website on a browser. Native Apps now that’s a different beast, that need better UIs or the ability to js and css directly on them. Then we have the fact that many libraries make end products look like clones, which happens by default because rarely do we have a new component we haven’t seen. UI for Native APPs or better css support without stacking frameworks.

  • @mickolesmana5899
    @mickolesmana5899 4 месяца назад +2

    i have a great time with Shadcn, unlike other UI libraries, IT EASILY expands and modifies the components, and it sits perfectly in the middle. It is easily modifiable like tailwinds but also has a great just-get-go component like MUI.
    The only gripe is when you tried modified the underlying radix part, but that's kinda my problem not the shadcn itself

  • @andythedishwasher1117
    @andythedishwasher1117 4 месяца назад +11

    Javascript horoscope 2024: There will be many more meetings about which UI library to use and whether or not you should be required to build one.

  • @HikaruAkitsuki
    @HikaruAkitsuki 4 месяца назад +2

    I first using Bootstrap when I was using just plain HTML and CSS. But when I trying to starting to switch on react, I realized that it is more logical to built component by my self rather to relay on CSS framework. One more thing that some React UI problem is it's not gonna work on other framework using React. Lets say Headless UI doesn't run on next because of webpack.

  • @Astrovic1
    @Astrovic1 12 дней назад +1

    didnt think this would just be an hidden advertisment video for a new technology :'D you got us viewers;)

  • @AndrewBone
    @AndrewBone 4 месяца назад +2

    What are your thoughts on react aria components from Adobe?

  • @galgrunfeld9954
    @galgrunfeld9954 4 месяца назад

    Some components are made of what could be considered as parts or sub-components, e.g for a search box - a text box and a search icon. But let's say I want to change just the icon with some other part. With a component library I'd be limited to a prop, or doing manual work. How would something like this save me the work of needing to understand/work with the whole component? Or do I not need to?

  • @riman8493
    @riman8493 4 месяца назад

    Recently started a new project at work and went with Radix and StyleX from the bottom. Been loving it so far!

  • @Ma1ne2
    @Ma1ne2 29 дней назад

    This was insanely interesting. Thanks for sharing your thoughts.

  • @dovh49
    @dovh49 4 месяца назад +2

    So, why in the docs do they not say that this is a React components? I hate it when libraries assume everyone uses React. No, there is a sane world out there that doesn't use React.

  • @Dorchwoods
    @Dorchwoods 4 месяца назад +17

    I love the concept, but i don't seen this working at enterprise companies out in the real job market. To me, design systems built with web components make the most sense at large scale. Big companies typically have multiple, silo'd teams, but upper management always wants a consistent UI across all products. Since most product teams at enterprise companies ive worked at have significantly different tech stacks, it would be impossible to align on using react only. Web components really shine as UI libraries in my opinion and they're only getting better

    • @jonnielappen5916
      @jonnielappen5916 4 месяца назад +1

      design systems will stay. you need components. it's a good experience. shadcn covers what brad frost calls recipes

    • @Dorchwoods
      @Dorchwoods 4 месяца назад

      @@jonnielappen5916 yep for sure. UI's that are composed up of smaller components. We create recipes as stackblitz examples where I work and have had a lot of success with them.

  • @peteredmonds1712
    @peteredmonds1712 4 месяца назад

    alpine also quietly launched their own headless components products recently, its really powerful. worth looking into for the vanilla-js pilled

  • @im9yro178
    @im9yro178 4 месяца назад

    i love shadcn component

  • @kevin_nielsen
    @kevin_nielsen 3 месяца назад

    Can't agree more. The unstyled component libraries with Tailwind are awesome to work with. You get awesome functionality with complete control on the styling. 🎉

  • @andybrice2711
    @andybrice2711 4 месяца назад +30

    What might also be useful is if we could try and settle on a fairly standard API for these common components and UI patterns. So you don't have to learn a different HTML structure with different tag and attribute names for each UI library.

    • @zebedie2
      @zebedie2 4 месяца назад +1

      radix-ui feels close to that, there are implementations for react and vue at least

    • @alecdowning2520
      @alecdowning2520 4 месяца назад

      I feel like these solutions offer both! The HTML structure will never be identical, so you can copy in the HTML structure everyone knows. And with shadcn, you can use name the exported components however you like.

    • @JosueRodriguez08
      @JosueRodriguez08 4 месяца назад +1

      Webcomponents already exist, lol

    • @andybrice2711
      @andybrice2711 4 месяца назад

      ​@@JosueRodriguez08 That's not really what I'm talking about though. Web Components don't define a standardized syntax for declaring common GUI elements like (for example) accordions, carousels, and calendar views.

    • @proosee
      @proosee 4 месяца назад

      @@andybrice2711 the problem is that no one knows what is "the right" way to go with this and people argue about it, thus: different approaches. Some die, some keep living, but there is no consensus and I don't think there will be soon. If something is well established then it becomes the part of HTML, but that's quite rare - you already have and no one use it.

  • @Sindoku
    @Sindoku 4 месяца назад +2

    I wish you’d talk about Chakra UI sometime. It has a ton of features that scale from small to large projects. Everything any other lib can do, Chakra can also do. You can make your own component library with it as well.

    • @magne6049
      @magne6049 4 месяца назад +2

      Chakra can’t avoid having a runtime. That’s why they built Panda to replace it. Also, Chakra doesn’t work crossplatform (React Native plus web). But Tamagui can.

    • @code.smiles
      @code.smiles 4 месяца назад

      He has talked about Chakra before ruclips.net/video/CQuTF-bkOgc/видео.html

  • @CFEF44AB1399978B0011
    @CFEF44AB1399978B0011 4 месяца назад +2

    I don't understand how this is better than a UI library. You can iterate fast into a hellscape of incredibly complicated code that since you've never written it yourself you don't know how it works but you also don't have the benefit of being able to pull updates from professional teams of developers whose job it is to fix bugs in these systems.

  • @kennyPAGC
    @kennyPAGC 4 месяца назад +1

    My app is 10 years old with legacy jquery code I am in the process of rewriting. We don't have the resources for a full reimplementation in modern js technologies, but I wonder how feasable would it be to start writing new front end code with react (and in turn adapt the backend)? How much of a mess of traditional js code + react code would it turn out to be? How can both parts integrate?

    • @HumanoAI
      @HumanoAI 4 месяца назад

      Very easy with AI now, To resolve broken code, assuming you know terminology and how things work. That’s the key knowing how to ask, prompting, you can’t ask if you can’t explain it in technical terms. So knowing the languages in your stack is very important.

  • @heoTheo
    @heoTheo Месяц назад

    Any advice to get better at building the UI from a Figma? I’m working on this and I’m so slow on it. How do I get better?

  • @rand0mtv660
    @rand0mtv660 4 месяца назад +1

    UI libraries aren't dying, we just have more options now. Theo, you saying that something is dying as a technology is kind of misleading, but I do understand that clickbait is required these days. You are close to bleeding edge all the time and also in Twitter bubble most likely as many of us here are.
    People have been saying for years that jQuery is dead, but it's still probably in 50% of top 10000 sites and has like 8 million weekly downloads on NPM. This is for a library that is probably mostly still included as a CDN link and not installed through npm. Reality is just different compared to our bubble.

  • @CottidaeSEA
    @CottidaeSEA 4 месяца назад +5

    I think this has more to do with the necessity to make changes to UI components and not being strictly bound to the limitations of the library. It's not so much that the libraries are not useful.

  • @makeitreality457
    @makeitreality457 3 месяца назад +3

    As someone who sticks with own code, plain HTML/CSS as much as possible, UI libraries couldn't go away soon enough. But standard UI components should be built into HTML. For the most part, they are. I write my code to be standards-compliant and simple. Generating all the extra stuff, such as sitemaps, rss feeds, menus, fancy widgets from that on the fly. That way, if visitors don't have Javascript, or have an old browser, it still works the way I designed it.

    • @minma02262
      @minma02262 12 дней назад

      Jesus will be impressed on the resurrection skill set.

  • @nic_s3385
    @nic_s3385 4 месяца назад +3

    I've used bootstrap and material in the past, but although it was great getting started I usually ended up not using most of the library and also ended up overriding a lot I was using. Another thing I realized was that I actually needed very little CSS in the first place. So a couple of years ago I started a new project and decided to not use anything and just roll my own CSS from scratch. Not only did I end up with something incredibly lightweight, but I learned a lot in the process. With the use of some CSS variables I could also change the colors quite easily and so create themes for different clients.
    It was simple, it was fast, and it's just basic CSS with no build step.

    • @edindurak2042
      @edindurak2042 4 месяца назад

      Did you use plain CSS or modified it with SCSS ?

    • @noirpi
      @noirpi 4 месяца назад

      That's the perfect example how to NOT use bootstrap...
      That way its sure way easier then rebuilding the whole needed css by yourself... cause who wants to have some extra work to make the own code look clean...
      I used Bootstrap, MaterialUI and a bunch of other stuff... and NEVER ever had i touched the bootstrap stuff... i wrote my own shit or i used what i got there...
      But changing Bootstrap Stuff or Library Stuff always sticks you to that specific version... and i hate everyone that make me fiddle that shit out later....
      Its a mere horror to do so cause sometime somewhere need to split this shit again...

  • @31redorange08
    @31redorange08 4 месяца назад +20

    I'm starting to learn Bootstrap. It seems to be alive and well.

    • @lechprotean
      @lechprotean 3 месяца назад +2

      yeah, do'n't listen to some bs that is just to attract views and discussion. Stick with proven and popular tech - Bootstrap, maybe React later

    • @31redorange08
      @31redorange08 3 месяца назад

      ​@@lechproteanTheo is a junior to me. I just occasionally watch for inspiration. I have already worked with React for a few years, but never really got into CSS.

    • @eamax
      @eamax 3 месяца назад

      If you are just starting out, this discussion is not for you!

    • @31redorange08
      @31redorange08 3 месяца назад

      @@eamax Why?

    • @Ivan-Bagrintsev
      @Ivan-Bagrintsev 3 месяца назад

      @@31redorange08, you need to learn at least something before you can understand what is good for you

  • @PerryWagle
    @PerryWagle 3 месяца назад

    How do you upgrade or (say) security patch the code that you have inlined?
    Grabbing snapshots of a moving target, and, in that way freezing it becomes a nightmare. Been there, done that.

    • @PerryWagle
      @PerryWagle 3 месяца назад

      @@keyboardtapper I dunno, input sanitization?
      imgs.xkcd.com/comics/exploits_of_a_mom.png
      Trojan horses?

  • @PHAL__
    @PHAL__ 16 дней назад +1

    Every couple of months I came back to watch a new Theo video, and every time the whole front-end ecosystem is dying and being reborn into something that will die in another couple of months.
    It's tiring

  • @josevsebastian2909
    @josevsebastian2909 4 месяца назад +6

    Is there a version that doesn't use tailwind? Css is a mess, and i don't want that mess in my ts files; it needs to stay where it should: in css.

  • @leroviten
    @leroviten 4 месяца назад +1

    I wish combobox was for “selecting multiple things at the same time” though. Had to implement my own thing with Command and popover

  • @ravikumarmistry
    @ravikumarmistry 4 месяца назад +2

    It is a maintenance hell. Do not fall for it.

  • @danhiester9034
    @danhiester9034 4 месяца назад +1

    If the engineering team exercising more ownership over UI code means the company as a whole exercises more ownership over the look and feel of the UI, this has the potential to be something great. I think a lot of teams tend to see "a good start" as "a good final product," but hopefully this style of UI library will help encourage teams to grow beyond square one.

  • @Jenkkimie
    @Jenkkimie 3 месяца назад

    I think it's good. I'm a new developer who learnt UI with Bootstrap. But few things that have always irked me with it is that I get a bunch of components I don't need in my applications and it can be sometimes clumsy to do your custom component styling. Seems like this is a much lighter and flexible method for future UI.

  • @for-pete-sake
    @for-pete-sake 4 месяца назад

    I am looking for a library like shadcn for react native, is there any ?

  • @geochampapp
    @geochampapp 3 месяца назад

    Are there any unstyled component libarries for angular?

  • @0M9H4X_Neckbeard
    @0M9H4X_Neckbeard 3 месяца назад

    If you make your components git submodules you can still version, pin and update them in a central place if you want to reuse them across many projects

  • @josh_ux
    @josh_ux 12 дней назад

    Great video. From my perspective as a designer, I think this approach might make the design system turn into Frankenstein's monster really quick. At least you've brought AI into the discussion, which Vercel is really cooking up some cool stuff there with that component generator. I'm very curious how designers work into the fold with your approach, as I'm currently investigating whether to "go safe" with MUI recommendation for my PaaS client or instead assist them with building their own UI library with these newer frameworks like Radix along with Vercel's component generator. All I know is Tailwind CSS is super hot right now along with Framer Motion. NextUI is up and coming, but I like the idea of starting with basic components from Radix with zero design bias, whereas MUI introduces a lot of design bias with their Figma file. Don't get me started on MUI's [puke] icon library. Anywho, thanks so much for your bold perspective. People need that to get their head into AI these days. I'm curious to see what Google comes up with Gemini + Material Design. Very curious.

  • @Adjilino
    @Adjilino 4 месяца назад +1

    I used and loved, but faced an downside if the component have some bug is hard to follow the fix

  • @proevilz
    @proevilz 4 месяца назад +4

    But its still pulling in Radix as a dependency, so it's only slightly less removed on the normal model of pulling in a traditional UI library. Can't help but feel it's a sleight of hand trick.

    • @HumanoAI
      @HumanoAI 4 месяца назад

      In minutes you can deduct this. It was a “kinda”…

  • @felixmervamee7834
    @felixmervamee7834 4 месяца назад

    What would this mean for "code you own" when it is so similar to many other projects'? Couldn't it cause issues when the first ones to use the tool accuse the others of plagiarism? Is the code (or should it be) generated somehow under a special open source license to avoid such claims?

  • @glorrin
    @glorrin 4 месяца назад +5

    I am sorry I failed to understand the difference between installing radix or a component from another component library.
    Don't get me wrong I love radix and how easy it is to use and transform to fit the design.
    But saying we are no longer installing component libraries instead we are installing radix, this is the part I don't understandd.

    • @duartecunhaleao
      @duartecunhaleao 4 месяца назад +1

      It's just lower level, and otherwise jist an abuse of language to say you're not uaing a UI library anymore.

    • @HumanoAI
      @HumanoAI 4 месяца назад

      It’s a kinda sorta but not really solution. Coincidentally a radix problem was what I initially ran into, I believe it was the carousel. Keep in mind I installed a fresh react just to test shadcn, followed the instructions, had to watch a tutorial by an end user to get it to work, which included some tweaks not in the tutorial. Personally I keep asking myself should I just code it from scratch because this is more about fixing breaks that coding. The idea is good but they don’t flow at fast speeds. AI can now generate the js, and backend. OK time to try another UI then watch it break and have to break my head to make one button sample work. Then on to the next UI I must test them all. I’m UI greedy! It’s an illusion for the most part, of feeling like you’re up to date, but rarely is a new component created.

  • @garybenade
    @garybenade 3 месяца назад

    with this cloned version of their code at a point in time in your code base that you can change at will how will updates work? npm update and npm upgrade are awesome

  • @KhalidKhan-xq5xp
    @KhalidKhan-xq5xp 4 месяца назад +2

    I initially opted for Shadcn UI in developing our laboratory management app, but unfortunately, I found it to be less than satisfactory. While it boasts an appealing aesthetic, I encountered numerous instances where I had to handle many aspects manually. My preference lies in leveraging a component library that is not just visually pleasing but also comes pre-equipped with almost everything I require, sparing me the need to build components from scratch.
    After grappling with several challenges, I decided to integrate Mantine into our app. Mantine, with its comprehensive feature set, turned out to be the solution I was seeking. Now, I seamlessly combine Mantine with Tailwind, and the synergy has resulted in a remarkably positive development experience for our project.

    • @haha-eg8fj
      @haha-eg8fj 4 месяца назад

      Thanks I have a look at it and it is pretty cool. I think Shadcn-UI also satisfy my needs but I did need some adjustments because the underlying component they use are sometimes not adequate.

  • @bennguyen1313
    @bennguyen1313 3 месяца назад

    Can shadcn , v0 dev by Vercel , tailwind ui or Radix ui generate Flutter code?

  • @JZL003
    @JZL003 4 месяца назад +1

    How do updates work?

  • @CodyIddings-Makeshapes
    @CodyIddings-Makeshapes 3 месяца назад

    Can you please update this video with your thoughts on Aria vs Radix? It seems like Headless UI will no longer be supported

  • @vasy4321
    @vasy4321 4 месяца назад +7

    how is this glorified copy-pasting better?
    updating will be much harder than running npm update, especially if we make big changes to the original component and then have to merge them
    I understand having more control is needed sometimes, but most of the time, I want to be abstracted away from library code
    we need libraries that have both options:
    1. they are npm installable
    2. they have a copy source button (for the rare cases when I want to change the component source significantly)

    • @asimpleguy2730
      @asimpleguy2730 4 месяца назад +2

      A component library, especially when battle tested like Radix, will require much less update than customizations, so copy paste it's a good tradeoff IMO

    • @rand0mtv660
      @rand0mtv660 4 месяца назад +4

      "updating will be much harder than running npm update, especially if we make big changes to the original component and then have to merge them" -- if you make big changes to the original component, why would you be interested in updating that component from source again if you had to heavily modify it in the first place? It means you didn't really need the original implementation as it was.
      These copy-paste libraries are used as a good starting point that you can take almost full control over and are not at the mercy of the maintainers of the project to implement something and you can adjust them and do your own additional UX if that's needed.

  • @sfincione2000
    @sfincione2000 4 месяца назад

    I think I'm in agreement with this. I much prefer this way of owning the code for your components. It also helps down the line when you have a project that goes into maintenance mode and then someone comes back to your code a few years later to "add a thing" and now your dependencies are out of date and it can rapidly get messy. So I think this helps with future-proofing your code.

    • @LajosUti
      @LajosUti 3 месяца назад

      It is not future-proofing if you are full with outdated dependencies, it just means your project is using several packages with known vulnerabilities.

  • @smooth1x
    @smooth1x 3 месяца назад

    Sure coping the code into your project and modifying it is easier and gives more control in the short term but a) do you really need your controls to be THAT different from everyone else? A radio button is a radio button, a text box is a text box. And when fixes/enhancements are applied to the code you copied, how do you pick them up?

  • @hleet
    @hleet 3 месяца назад

    tailwindui ! very interesting ! gonna check this out

  • @margueratube
    @margueratube 4 месяца назад +4

    I think it would be nice to have a native way to customize the look and feel of the checkboxes and select field. I really gussed by the title of the video that it would be something on this direction :(. Other than that I don't see those UI frameworks dying, I would say that we can maybe see they migrating to this same path.

    • @RevoSW
      @RevoSW 4 месяца назад

      When it comes to stylable select fields and checkboxes, I hope the work that the people behind open-ui do eventually comes to life

    • @Toberumono
      @Toberumono 4 месяца назад +1

      That’s… that’s just CSS.
      Like… literally. That’s what CSS is for.

  • @umitcelik5508
    @umitcelik5508 3 месяца назад

    What about React Native? Is there any stable component libs for RN?

  • @wcrb15
    @wcrb15 4 месяца назад

    I've kept my eyes on shadcn for a while and I'm excited to play with it.

  • @falasefemi3344
    @falasefemi3344 4 месяца назад +1

    The vercel UI library is it free?

  • @helleye311
    @helleye311 4 месяца назад

    I've said it before, I don't think I'll change my mind on this for now: shadcn is a step in the right direction for libraries, but there's still some kinks to work out. I personally very much dislike the custom color definitions it uses. I've tried both the css variable system and the js/tailwind defs system, and both just don't feel quite right yet. light/dark mode are separate, and color picker doesn't like detecting them to give me an easier way to edit, since the def is basically 3 numbers separated by a space instead of any real format. I think this is a tailwind issue mainly, since it needs to have this nonstandard format to inject opacity by itself if you do bg-gray-500/50 (or whatever the syntax is, I rarely use transparent colors).
    It also gets a bit complicated when editing the components, since tailwind isn't the easiest to understand, especially if you're not the one that wrote it. But that's likely a skill issue on my side.
    Compared to chakra-ui, which I have the most experience with, where colors are just a JS file, and you can even do primary: { default: "#hex", _dark: "#otherHex" } and get auto dark mode without providing anything besides text="primary" still seems like a better dev experience to me. At the cost of user experience of course, since the JS bundle for chakra is absolutely massive.
    And I think chakra works a bit better for uniform styling systems where everything works together. Shadcn keeps pulling my leg with having a separate colour for a lot of stuff. Sure there's primary and primary-background, but theres also card-background that's separate for some reason, and I feel like the default dark mode is a bit too plain for my taste.
    And then there's the issue of not getting free styles. you can't just make a button in any colour without manually adding the variant. Though I guess that's also a tailwind limitation, since you can't just do `bg-{color}-500` or it won't compile the css properly.
    But a lot of it is an issue of tooling and other limitations, it still very much feels better to use when it actually works.

  • @zearthus7089
    @zearthus7089 3 месяца назад

    for me working with backend and front end for more than 15yrs, I would still stick with Bootstrap and manual CSS, You can easily solve any issue with complex PSD design/layout to CSS/HTML if you have the knowledge and understanding the core code of CSS.

  • @MarthinusBosman
    @MarthinusBosman 4 месяца назад

    Ok, new html spec gets introduced after you've customized it like crazy, how do you update it?

  • @XxlolktkatxX
    @XxlolktkatxX 4 месяца назад +1

    What do you think about Next UI? I love using so much

  • @GigaFro
    @GigaFro 3 месяца назад

    Anybody have a favorite library for a combobox that is multi-select and displays the selected values below as badges with little x's for removal?

  • @MarcoDamaceno
    @MarcoDamaceno 4 месяца назад +1

    No, they're not dying. Frontend devs are just in a bubble with React, Tailwind and all these complicated things. Bootstrap will never die for backend devs. They know what I'm saying.

  • @iflux8821
    @iflux8821 4 месяца назад +1

    Rails scaffolding is back 😊

  • @user-xk1fg9iv6k
    @user-xk1fg9iv6k 4 месяца назад

    What theme do you use ?

  • @seppoayravainen
    @seppoayravainen 4 месяца назад +2

    If the shadcn/ui devs improve one of their components, how do you bring these improvements into your own (possibly modified) codebase? Just go through the changes one by one and copy-paste?

    • @michaelmcglynn968
      @michaelmcglynn968 4 месяца назад

      Yeah this seems like the biggest thing to me. How do you "upgrade" a component made like this? Whether for new features or bug fixes?

  • @Bartek-ll3dh
    @Bartek-ll3dh 17 дней назад

    Which theme do you use?

  • @dasturchiukkikundaligi2810
    @dasturchiukkikundaligi2810 4 месяца назад

    will there be vue support?

  • @k00k
    @k00k 2 месяца назад

    Is there a non-react version or competitor?

  • @Beastintheomlet
    @Beastintheomlet 4 месяца назад +3

    My biggest issue with Bootstrap and other ui libraries is how hard it is to make it feel organic in a project. Bootstrap always looks cheap to me.

  • @svp3g
    @svp3g 3 месяца назад

    Not sure on your take here.
    This example is dependent on Tailwind UI library / Tailwind core CSS.
    How is that different to loading in and extending Bootstrap in the same way?

  • @thegrumpydeveloper
    @thegrumpydeveloper 4 месяца назад

    Have enjoyed shadcn so much. It’s like how I would have wanted a ui lib that I could move from project to project but customize as needed. It’s so strange to see other libs debate which subset of css to provide via props like p= and px= when this is all solved by providing a className and allowing utility classes. With that the entirety of css is available.

  • @jamesauble8091
    @jamesauble8091 4 месяца назад

    Does shadcn still blow up your existing tailwind.config.js?

  • @zaabimahdi
    @zaabimahdi 3 месяца назад

    I dont undrestant when they say, you don't need to install the component as dependency ...
    But shadcn cli when executed, it install the radix ui component as dependency ...
    Am i wrong ???

  • @SebastianGrant-lj4qq
    @SebastianGrant-lj4qq 4 месяца назад

    How do we get rid of the auto import from radix? It's literally my only gripe with this magical creation.

  • @dyto2287
    @dyto2287 4 месяца назад +1

    "UI Libraries Are Dying"
    *proceeds to show UI library*

  • @sadkebab
    @sadkebab 4 месяца назад +3

    The only minor thing that I don't like about shadcn/ui is that the style is a bit too tech-ish by being so minimal and requires some work to make the style fit to a less tech corporate aesthetic. But I guess with time they will add enought customization options for this kind of requirement.

    • @readywhen
      @readywhen 4 месяца назад +7

      Isn't the whole point that it's unstyled/neutrally styled and you style it according to your brand? I hate presets, they never fit the brand, and customization is mostly done through super basic css, most of which is inherited anyways

    • @sadkebab
      @sadkebab 4 месяца назад

      ​@@readywhen yes, what I am saying is that if the branding is not going towards a tech aesthetic, as it is, you will need to do quite some work to adjust it and I wish there was an easy way to adjust it, don't care about presets at all

  • @fronix5060
    @fronix5060 4 месяца назад +3

    I feel like we are just running around in circles and reinventing wheels just to satisfy some urge to invent stuff.
    Component libraries are fine and they are not dying, they are actually very popular. And most importantly, they save A LOT of time and money.

    • @HumanoAI
      @HumanoAI 4 месяца назад

      Yes and no. AI now gets you to point B faster than attempting to learn framework languages and fixing breaks in the code. The next level is no code. A GUI build of the visual. With AI working on state and logic. Obviously people will use what they know. We run around testing every UI to render one component. Then go test the next library. The bottom line is , is the new generation of coders willing to learn the whole framework and the frameworks mini language to get up to speed. When AI can guide them in one or two days and build the code from scratch saving so much resources by not loading so much unused code.

    • @Basta11
      @Basta11 3 месяца назад

      They save time and money in some cases but not in others. Writing code doesn’t take that long if you know what you are doing. These libraries definitely do not save time if you want to do something that they make very difficult. In those cases, you wished you just built it all from scratch.

  • @VeitLehmann
    @VeitLehmann 4 месяца назад +5

    I remember fighting with Bootstrap so many times because it did only 90% of what we wanted while we didn't need 50% of its features, and the remaining 10% were almost impossible to add in a meaningful way. I ripped Bootstrap out of multiple projects to build a custom UI library. This approach is much better! I really have to look more into Radix and Headless UI! Shadcn/ui also looks great, but we are not using Tailwind and personally I'm also not 100% sold on it. I prefer writing CSS to get full access to all its features, e. g. custom properties, container queries etc.