It’s not really a framework. I mean that’s the whole point of not being so tightly knit.
Imagine you have a website with some kind of router for different paths. You might also have a unique domain per market (e.g. amazon.co.uk or amazon.jp)
/ -> home page repo
/search -> search repo
/products/xyz -> products repo
/products/xyz/review -> product review repo
It might seem crazy to have so many repos, but each of these pages already imports so many different components from different teams, and separating them is an easy way to make sure you don’t accidentally separate something else.
You could use Gatsby to prebuild all the products pages when there’s a change in the CMS and serve them on S3, and you could use a Next.js project to handle the /search page. You could use Vue to do the reviews page, or just have a normal create react app SPA. It gives you flexibility to experiment and lets teams not stop all over each ofher.
If your build step results in 20 * 300 product pages, then you’ll be glad to not have other stuff in that repo.
Of course you could accomplish this in a monorepo, but I’m just using project & repo to mean the same thing (a micro frontend)
It gets easier to A/B test and you could deploy a different site version for different markets (e.g rollout a new search result layout in Ireland and see if there’s a difference in click through rates). It’s just easier to deploy a MFE to serve that route in that market and have the old MFE still deploy to other markets.