Comment by theogravity
14 hours ago
Next.js doesn't play well with barrel packages (large packages that export everything into the main entrypoint file). It's a known issue (but rarely mentioned when you read about working with Next.js):
https://github.com/vercel/next.js/issues/48748
I've never used MUI, but assuming that MUI is a barrel package, and you do the following:
import { Component } from "mui";
Next.js ends up compiling the entire package instead of just that component you need. If MUI has their components exported into separate files, an optimization would be:
import { Component } from "mui/path/to/component";
I switched to Astro plus tailwind and never looked back. If you are interested though, imports are a pretty big thing in mui https://mui.com/material-ui/guides/minimizing-bundle-size/.
To be honest, if you're making a content site such as a marketing site or blog, it really doesn't matter what you use. You can use Next, Astro, Gastby, HTML/CSS etc. Doesn't matter.
Next.js excels when you have a complex app with interactions, SSR requirements, CSR requirements, backend requirements, etc.
I disagree. I’m building an audio player in Astro.
https://github.com/mayo-dayo/app