The other day I pruned unused dependencies from a medium sized app we’re about to launch and package.json was not much more than the above.
If you’re doing some kind of code-splitting or SSR you can probably serve a fraction of that.
Unless you’re developing for a very particular use case like embedded, I fail to see how the raw size of the package is any concern given how much MaterialUI brings to the table in terms of interaction design capabilities and dev speed.
Regarding your comment on the network tab, that’s really got me scratching my head… I’ve done a lot of profiling of React apps and when they’re bundled you don’t see a network call explosion because you’re just downloading a couple of JS bundles at worst… I can guarantee that a React app with the dependencies you describe would have anywhere between good and excellent network performance in 3G and above.
a) is deprecated
b) has security issue, with no patch
c) web framework has major changes, making it challenging to upgrade, so you need help from framework maintainers for upgrading
Any code that you have not written yourself has pontential to break. It's same for every programming language.