
A brief introduction to myself and on what this course covers.
About Module Federation, how to configure it and dive into a working example. Learn about different Module Federation plugins across different bundles and how interoperability works.
Talk through bundler options across the ecosystem and learn why Module Federation suggests Rspack and Rsbuild as their bundler of choice.
Don't be overwhelmed! We will build the application step-by-step and walk through all of these items again.
NX Dev Tools is an amazing monorepo platform, check out the ecosystem, plugins and how to adopt monorepos.
Learn why I prefer monorepos for micro frontends and preparing for setting up our first project.
Set up our monorepo using NX, React and rspack. Learn the structure, plugins, generators and executors work and how easily we can get started!
The rsbuild generator was recently released and do not require much changes to implement and use! Check out the links below for more information.
In this course we'll add Module Federation to our remote and host applications. Then we'll load a remote button in our host application. We'll walk through setting up NX's module federation plugin and some of the NX documentation.
Learn how Module Federation handles Typescript with Federated Types. Deep dive into Container Entries, why they're important and how you can begin using the Module Federation manifest file.
This covers loading remotes and sharing them between the host and remote. Includes how to setup a simple CSS module with rspack and include that in your federation setup.
Embedding URLs to remote modules during builds has a number of drawbacks such as needing to release again to update the remote module URLs.
In this module we will walk over loading them at runtime and how you can use a configuration/feature flag service to get the correct module URL. There are a lot of advantages to this and in many cases should be the preferred method.
In this video we'll explore the new Federation Runtime plugin system review various lifecycle events with official examples.
Then we'll continue our deep dive on loading remotes, and in this case ones that are not just react components.
We'll explore creating a custom runtime plugin that allows us to fetch and update remote URLs for remotes that were registered with the runtime or in the plugin directly.
This allows us to have dynamic remote loading at runtime. For the hook scenario we explored in the previous video, this would make direct imports easier since you can avoid using a React hook to load a remote. However it has it's own set of concessions such as a lack of access to React state.
We'll extend our plugin by listening for a new lifecycle event that allows us to monitor shared modules when a remote loads. This will allow us to log the shared scope when modules are resolved and you can monitor the shared module space for which versions are loaded, by which remote, and observe this overtime to ensure share scope compatibility.
In this video we'll explore a new experimental feature which allows Module Federation to share a common runtime, reducing the size of the container entry chunk.
Next we'll add React Router Dom and setup routing between federated modules. Our "products" remote will setup it's own routing tree and provide that to the consumer host.
In this video we'll explore adding a package to our monorepo, resolving it as a local package through workspaces and typescript. And demonstrating a key concept of micro frontends, event driven communication.
Event driven or pub/sub patterns for micro frontends are a key design pattern which can be extended into sharing state and help design many different interfaces between remote modules.
Lets explore Tanstack React Query and how we can share state between Micro Frontends. We'll discuss how to setup our applications, pros and cons of sharing state and how React Query intends their library to work with Micro Frontends.
This video will dive into sharing state using React Context and useSyncExternalStore. We'll explore how both solutions are built and how they work when being shared across micro frontends.
Finally we take a look at React Query again and how it can help us with multiple remote modules fetching data on mount. This is useful in scenarios where you render multiple remotes that have similar data dependencies on a home page.
In this video we'll cover creating a component library which will allow your team to create reusable packages within the monorepo and share code. These are particularly useful when the app requires branding and common functionality across the micro frontends.
Tailwindcss was chosen here as a demonstration due to its popularity, we will walk through implementing a simple component and how to share the minimum css required/generated by tailwind.
In this video we'll wrap up the course by learning about how to deploy and version micro frontends. We will work through how to build and deploy each micro frontend into a CDN and talk about creating or using a configuration service to serve micro frontends remote entry point (remoteEntry.js).
The configuration service is key for runtime/dynamic remotes where you need to serve them from outside of your javascript bundle. Following the earlier courses, this compliments that setup where you can use an API-like-service to deliver the correct remote for the user. This can be extended with user claims, or doing rollouts for AB or canary testing.
In this video we'll explore Azure Federated Credentials which allow you to authenticate with GitHub repositories directly, under a specific identity in Microsoft Entra. This allows us credential-less login from GitHub.
Then we'll explore the Azure CLI which can login using that credential, and upload the build output to Blob Storage using the upload batch command.
Zephyr Cloud is a framework agnostic hosting provider for Module Federation, it allows you to deploy locally with unlimited preview environments in under a second! This is an excellent hosting provider with batteries included.
Thank you joining me in this journey! This is only the beginning for you and with the knowledge we covered in this course I have no doubts you will Master Micro Frontends.
Mastering Micro Frontends with Module Federation: The Ultimate Guide to Modern Web Architecture
Transform the way you build large-scale web applications with the most comprehensive, battle-tested course on Micro Frontends available today. Learn directly from an active contributor to Module Federation who has implemented these solutions for Fortune 100 companies. This course uses the latest techniques with the latest versions of each technology available: nx, rspack, vite, and module federation.
Here are three game-changing reasons why Micro Frontends could transform your development experience:
Deploy faster and safer - Update individual features without touching the entire application
Give teams true autonomy - Different teams can work independently using their preferred tools
Scale without the complexity - Break down massive applications into smaller, manageable pieces
Why This Course Stands Out:
Learn from a Module Federation core contributor
Based on real-world implementations at Fortune 100 companies
Uses cutting-edge build tools like Rspack - a rust based alternative to Webpack
Features proven patterns used by top tech companies
Includes the latest 2024 best practices and techniques
What You'll Master:
✓ Build production-ready Micro Frontend architectures
✓ Implement Module Federation with the latest tools
✓ Create independently deployable frontend modules
✓ Manage monorepo structures effectively with NX
✓ Optimize performance and bundle sizes
✓ Learn robust patterns for versioning and dynamically serving Micro Frontends
Practical, Real-World Learning: Through hands-on projects, you'll learn how to:
Develop two Micro Frontends, broken down into manageable pieces
Implement state sharing techniques with popular libraries such as React Query and Tailwindcss
Optimize performance using Module Federation
Scale applications effectively
Design nested routing, letting a Micro Frontend define it's own route structure
Technologies Covered:
Module Federation
Rspack
React
TypeScript
NX
Modern CI/CD practices
Who Should Take This Course:
Frontend Developers looking to scale their applications
Software Architects designing large-scale systems
Team Leads managing multiple development teams
Developers wanting to stay ahead of industry trends
What Makes This Course Different: Unlike other courses, you'll learn the exact patterns and practices used by top companies to build scalable, maintainable applications. Topics are covered in-depth as we walk through implementation details, giving you a real world hands on experience building Micro Frontends.
Don't waste hundreds of hours figuring this out on your own. Join thousands of successful developers who have transformed their applications using these proven Micro Frontend patterns.
Start mastering Micro Frontends today and revolutionize how you build web applications!