79838014

Date: 2025-12-04 14:19:41
Score: 0.5
Natty:
Report link

I'm a self taught dev, but I love front-end coding, either way take what I say with grain of salt. Component libraries were mentioned, and I remember the first time I played with MUI. I thought it might be good practice to recreate Material UI using React and Emotion. Thats the point I duscovered what you discovered, that making truly universal components is alot more work than most think.

The truth, in my experience, is don't reinvent the wheel. Libraries like Bootstrap and MUI are very good for building most common webapps. They are 'basic' meaning they are specifically designed to be optimum visual style for common apolications. And there is a good amount of customization possible, but it has its limits. You will find that as you use them on more and more projects, that those projects will all start looking and feeling the same. Mainly because they are.

This is the point where I give me earned lesson, then the real professionals can correct me if I'm wrong or confirm if I'm right. For most parts of your project, pick a library that you are confortable with, and use it, but if you need a custom component, build that yourself (or modify a component in the library.) You don't have to build everything from scratch, but a few custom components can stand out.

Now, if you need a truly customized webapp, a library I have enjoyed is shadcn, which gives you premade, generic components that you can free-will customize using talindcss. As of right now this is my favorite workflow. Because, unlike material ui, shadcn gives you the entire code, instead of having to use props/args to make changes to components. You also only install the components you need, modify them to your desired output using tailwindcss classes, and build.

As for knowing how something will look on other devices, devtools is nice because the dropdown has several mobile device versions so you can see what your app will look like on different devices. Most people use the internet on their phone or some mobile device so I tend to work with my devtools output set to a mobile output. This is also where tailwind comes in handy with its breakpoint system. You design a view for mobile, once you have the mobile view the way you like it, switch to the responsive(desktop) view then you make you changes with breakpoint classes (sm, md, lg, xl). This description is much simpler than the process is but thats my 50k foot view.

Most of all. Enjoy what you are doing. Play with things like a kid with a lego set.

Happy coding!

Reasons:
  • Long answer (-1):
  • No code block (0.5):
  • Low reputation (1):
Posted by: c.meyer.johnson0228