DEV Community

Discussion on: Building Micro Frontends with React, Vue, and Single-spa

Collapse
 
seanmclem profile image
Seanmclem • Edited

But why do this? I'm not saying I wouldn't want this, but why would I?

Collapse
 
dabit3 profile image
Nader Dabit

I agree with @rhymes answer, and also check out the video here.

Collapse
 
rhymes profile image
rhymes

If you are a huge company that has to create an app where parts of it are developed by different teams, and different teams that might have different skill sets or preferences.

It's an architectural model that is probably overkill if you're a solo developer or a small team building a regular web app.

Collapse
 
Sloan, the sloth mascot
Comment deleted
 
rhymes profile image
rhymes

If you watch the video @dabit3 linked:

I agree with @rhymes answer, and also check out the video here.

you'll find out it's exactly for apps that have become too big and need to be re-engineered.

Most big companies don't have the luxury to start from scratch.

If you start an app from zero with dozens of developers in different teams, this should be useful as well

Collapse
 
niorad profile image
Antonio Radovcic

I could imagine some special cases like complex realtime-dashboards for stock-traders. Or apps like Spotify, where one team would handle the actual playing of music, and other teams handle playlist curation and social functionality.

Something often not mentioned in discussions: Microfrontends can be split horizontally or vertically.

Horizontally would mean the case described here: Multiple independent apps on one view. I really don't want to see the resulting bundle-size for this approach.

Vertical splitting means you have one app for one view, and separate e.g. by subdomain where login.app.com, news.app.com, editor.app.com each have their own app. DAZN works like this, for example.

Collapse
 
seanmclem profile image
Seanmclem

Thank you, there are some examples I understand

Collapse
 
florianrappl profile image
Florian Rappl

Something often not mentioned in discussions: Microfrontends can be split horizontally or vertically.

This is the key point. With microfrontends you get another dimension for splitting / allocating teams, allowing multiple compositions, e.g., real (independent) fullstack teams.