DevPrep
  • Interview Prep
  • Projects
  • Resources
  • Pricing
  • About Us
Submit Question
DevPrep
  • Pricing
  • About Us
Submit Question
  1. Home
  2. Articles
  3. Frontend Engineering
  4. Microfrontends: Architecture for Large Teams
XLinkedInReddit
MediumFrontend Engineering

Microfrontends: Architecture for Large Teams

D
DevPrep Team
February 10, 2026·1 min read·0
Table of Contents
  • What Are Microfrontends?
  • Integration Approaches
  • 1. Build-Time Integration
  • 2. Runtime Integration via iframes
  • 3. Module Federation (Webpack 5)
  • 4. Web Components
  • Shared Concerns
  • When NOT to Use
  • Performance Considerations

At Google, with hundreds of frontend engineers, monolithic SPAs don't scale organizationally. Microfrontends let teams ship independently.

What Are Microfrontends?

The microservices approach applied to the frontend. Each team owns a vertical slice — from UI to API — and deploys independently.

Integration Approaches

1. Build-Time Integration

Each micro-app is an npm package consumed by a shell app. Simple but creates deployment coupling.

2. Runtime Integration via iframes

Complete isolation but poor UX (no shared routing, styling, or state).

3. Module Federation (Webpack 5)

// Host app webpack config
new ModuleFederationPlugin({
  remotes: {
    checkout: "checkout@https://checkout.example.com/remoteEntry.js",
    catalog: "catalog@https://catalog.example.com/remoteEntry.js"
  }
});

// In host app code
const Checkout = React.lazy(() => import("checkout/CheckoutPage"));

4. Web Components

Framework-agnostic integration. Each team ships custom elements that the shell app composes.

Shared Concerns

  • Routing: Shell app owns top-level routes, delegates sub-routes to micro-apps
  • Styling: Use CSS custom properties for theming, CSS modules or Shadow DOM for isolation
  • State: Use custom events or a shared event bus. Avoid shared global state.
  • Auth: Shell app handles auth, passes tokens down

When NOT to Use

  • Small teams (< 5 developers)
  • Simple applications with few features
  • When teams don't need independent deployment
  • When the added complexity outweighs the benefits

Performance Considerations

Each micro-app bundle adds to the total JS. Shared dependencies (React, lodash) should be loaded once using Module Federation's shared config or import maps.

Related Articles

MediumFrontend Engineering

System Design #12: Design a Multi-Step Form Wizard

7 min read
MediumFrontend Engineering

Mastering Senior-Level JavaScript Interview Concepts

2 min read
MediumFrontend Engineering

System Design #9: Design a Collaborative Text Editor

9 min read

Comments (0)

Sign in to leave a comment.

No comments yet. Be the first to comment.

Table of Contents

  • What Are Microfrontends?
  • Integration Approaches
  • 1. Build-Time Integration
  • 2. Runtime Integration via iframes
  • 3. Module Federation (Webpack 5)
  • 4. Web Components
  • Shared Concerns
  • When NOT to Use
  • Performance Considerations

Series

View all Frontend Engineering articles →

Practice

  • JavaScript
  • DSA
  • Machine Coding
  • System Design

Resources

  • Learning Tracks
  • Articles
  • Roadmaps
  • Compare Concepts
  • Glossary
  • Developer Tools
  • All Questions

Company

  • About
  • Pricing

Legal

  • Privacy Policy
  • Terms of Service
DevPrep

© 2026 DevPrep. All rights reserved.