Manfred Steyer

Micro Frontends with Module Federation: Why and How?

Stop building complex meta-frameworks. Webpack's Module Federation lets you dynamically load remote applications at runtime with simple configuration.

Micro Frontends with Module Federation: Why and How?
#1about 3 minutes

Software architecture is about evaluating consequences

Software architecture is not about finding the single best solution, but about evaluating the consequences of different approaches for your specific situation.

#2about 1 minute

Understanding the micro frontend architectural style

Micro frontends break down a large application into smaller, independently developed and deployed parts that are integrated into a common shell at runtime.

#3about 5 minutes

Exploring real-world use cases for micro frontends

Case studies from healthcare, payroll, and banking illustrate how large organizations use micro frontends to manage complexity across different business domains.

#4about 3 minutes

The primary reasons for adopting micro frontends

The main drivers for adopting micro frontends are scaling development across multiple teams, enabling long-term technology evolution, and quickly adapting to changing requirements.

#5about 3 minutes

Common challenges and implementation drawbacks

Implementing micro frontends introduces challenges such as the effort to build an orchestration layer, difficulties in sharing code at runtime, and maintaining a consistent user experience.

#6about 5 minutes

How Module Federation enables runtime integration

Module Federation, a Webpack 5 feature, allows a host application to dynamically load code from a separately compiled remote application, solving a key challenge for micro frontends.

#7about 2 minutes

Sharing libraries and handling version conflicts

Module Federation simplifies sharing common libraries like Angular or React to reduce bundle sizes and includes built-in strategies to manage potential version mismatches between micro frontends.

#8about 5 minutes

Live demo: Initial setup with an Angular plugin

A live demonstration shows how to use an Angular CLI plugin to quickly add the necessary builders and initial Webpack configuration for Module Federation to a project.

#9about 6 minutes

Live demo: Configuring the host and remote

The Webpack configuration is adjusted to expose a module from the remote micro frontend and define the remote's URL in the host shell application for lazy loading.

#10about 4 minutes

Implementing dynamic federation at runtime

The implementation is refactored from static federation to dynamic federation, allowing the application to determine which micro frontends to load at runtime from a backend configuration.

#11about 4 minutes

Combining Module Federation with Web Components

Using Web Components with Module Federation allows for mixing different frameworks and versions in one application, but requires careful handling to avoid conflicts.

#12about 5 minutes

Conclusion and key takeaways on micro frontends

Micro frontends are primarily a solution for scaling teams and domains, and while they introduce runtime dependencies, Module Federation provides a straightforward implementation path.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.