How have you grown or scaled your frontend architecture?

I’d love to hear the community’s opinions on this very broad topic. Once a team grows past a certain point, code quality and consistency is bound to suffer, especially on the front end. I’ve used Phoenix out of the box for some projects, I’ve used React tied to other backend APIs for others, but on larger, enterprise-scale projects, this can grow unruly.

I’ve been researching the idea of Micro Frontends - essentially, a wrapper layer that allows you to compose components regardless of the frontend framework. In essence, you can have a React header, a Vue blog page, a Svelte footer, and an Ember search page. The theory is that all frontends and frameworks will eventually be stale, and having small teams manage their own projects independently of other teams on the frontend (similar to a microservices [or perhaps umbrella] architecture) would lead to improved productivity and maintainability - and perhaps more importantly, easier experimentation and less painful rewrites when they are inevitable.

A couple micro frontends for reference:

Does anyone have any experience with scaling their frontend, either using micro frontends or otherwise? What does the community think?

The problem with microfrontends is if you want to move team members around, they have to learn all the nuances with those frameworks.

Depends how big your team is though?

The problem with microfrontends is if you want to move team members around, they have to learn all the nuances with those frameworks.

In theory, that could be a positive to keep engineers excited to learn and contribute to different frameworks, given a technical lead that knows the framework and the domain. Of course, that’s a nice theory. In practice, I could imagine frontends decaying at the same rate as usual but with a smaller surface area.

Depends how big your team is though?

I’m looking for solutions for teams with 20+ frontend/fullstack engineers.