Book Image

The Art of Micro Frontends

By : Florian Rappl
Book Image

The Art of Micro Frontends

By: Florian Rappl

Overview of this book

Micro frontend is a web architecture for frontend development borrowed from the idea of microservices in software development, where each module of the frontend is developed and shipped in isolation to avoid complexity and a single point of failure for your frontend. Complete with hands-on tutorials, projects, and self-assessment questions, this easy-to-follow guide will take you through the patterns available for implementing a micro frontend solution. You’ll learn about micro frontends in general, the different architecture styles and their areas of use, how to prepare teams for the change to micro frontends, as well as how to adjust the UI design for scalability. Starting with the simplest variants of micro frontend architectures, the book progresses from static approaches to fully dynamic solutions that allow maximum scalability with faster release cycles. In the concluding chapters, you'll reinforce the knowledge you’ve gained by working on different case studies relating to micro frontends. By the end of this book, you'll be able to decide if and how micro frontends should be implemented to achieve scalability for your user interface (UI).
Table of Contents (21 chapters)
1
Section 1: The Hive - Introducing Frontend Modularization
6
Section 2: Dry Honey - Implementing Micro frontend Architectures
14
Section 3: Busy Bees - Scaling Organizations

Exploring communication patterns

Running multiple SPA frameworks independently is a good start, but it's not fully what we'll need in real-world applications. In many applications, we will need to have some form of communication between these – at least on some occasions.

There are three quite important aspects that need to be covered by these communication requests:

  • Sharing some messages, for example, to inform other micro frontends about a specific event
  • Sharing data, for example, to spread knowledge efficiently about shared domain objects
  • Providing components, for example, to bring get functionality from a different domain to a larger UI building block

All of these three aspects can be implemented following the architecture patterns discussed in the next subsections. We'll start with the exchange of events.

Exchanging events

By far the most crucial communication pattern for micro frontends is the usage of events. There is a clear...