Material UI has the exact same Box component, also using styled-system.
They're both libraries of components, so just as much a "nightmare" to extend or integrate.
Seems the biggest difference is this uses Emotion.
Material UI has the exact same Box component, also using styled-system.
They're both libraries of components, so just as much a "nightmare" to extend or integrate.
Seems the biggest difference is this uses Emotion.
Material UI implements Material UI by default and this is the main reason why it's hard to customize. Too much to change. I guess this is one of the reasons why there are not that many custom themes available for this library.
If you spend sometime with Material UI you will realize that it is actually designed really well.
[1]: https://material-ui.com/api/input-base/ [2]: https://material-ui.com/api/button-base/
Also, since when does LOC say anything about developer productivity? By using Material UI you are avoiding a lot of problems that you will face later on especially if you are building a complex app.
But anyway, it looks like we have had different experiences, maybe due to different use cases. My experience with Material UI has been the opposite of yours: It is cool to get a quick project stated, and I would use it again for small projects. But for a large SaaS application like I do, that includes 3D views, Openlayers Maps, React Select and others complicated 3rd party libraries and custom UX patterns, I would NOT use Material UI. Too opinionated, not flexible enough, and not being based on emotion is a show stopper for me. So let's agree to disagree maybe on that point.
Regarding the LOC, yes it does indeed say something about developer productivity, and this does match the contortions I had to do in the past to make Material UI fit my need. Lot of LOC, lot of time, no-so-cool results. I want more control, that's all.
==========================================
Chakra: 215 lines
https://github.com/chakra-ui/chakra-ui/blob/master/packages/...
Typical comment line in chakra is clear and useful:
"If added, the button will show an icon after the button's label"
==========================================
Material: 415 lines with a lot of boilerplate:
https://github.com/mui-org/material-ui/blob/master/packages/...
Typical comment line in material is redundant and overly specific:
Styles applied to the root element if `size="large"` and `variant="outlined"`