Review of "The Art of Micro Frontends" by Florian Rappl

Review of "The Art of Micro Frontends" by Florian Rappl

·

4 min read

Florian Rappl is a solution architect working on distributed web applications for digital transformation and IoT projects. His main interest lies in the implementation of micro frontends and their impact on teams and business models. As the lead architect, he has helped to create outstanding web applications for many industry-leading companies. He regularly gives lectures on software design patterns and web development. He started his career in software engineering before studying physics and helping to build an energy-efficient supercomputer.

In recent years, the term “micro frontends“ has become familiar to most frontend developers. However, what we’ve heard or even worked with might only represent a small part of real-world micro frontend scenarios. In the book “The Art of Micro Frontends“, Florian Rappl provides a comprehensive overview of micro frontends, covering many things from fundamental concepts to detailed implementation. This book is a must-read for anyone looking to step into the world of micro frontends.

The book is well-structured and divided into 4 parts across 20 chapters:

  • Part 1: The Hive – Introducing Frontend Modularization

  • Part 2: Dry Honey – Implementing Micro Frontend Architectures

  • Part 3: Bee Brood – Implementation Details

  • Part 4: Busy Bees – Scaling Organizations

In the first part of the book, the author introduces general topics related to micro frontends. He begins by explaining why micro frontends exist. Florian Rappl highlights a growing trend in web development: the shift towards microservices modular architectures. Following the Single Responsibility Principle (SRP) and leveraging deployment technologies like Docker and Ansible, microservices become the common design choices used by many teams around the world. To keep up with this trend in backend development, frontend development need to follow a similar dynamic approach and micro frontends come into play.

In the next chapter of Part 1, the book introduces the most common challenges developers face when working with micro frontends, including performance, security, knowledge sharing and reliability, along with strategies to address them. In chapter 3, two deployment strategies—central and distributed deployment—are discussed, each with its own advantages and drawbacks. In the final chapter of Part 1, we will learn how to separate micro frontends effectively by applying the Domain-Driven Design (DDD) principle. One of my favorite quotes from this chapter is:

Interestingly enough, when micro frontends started, most people were excited about technical splits. In my opinion, however, the true benefit of micro frontends can only be realized with business-driven split decisions.

In the Part 2 of the book, we will explore the big picture of micro frontend by examining different architectural approaches. Based on how micro frontends are composed, the author categorizes them into three main types:

  • Static vs. Dynamic micro frontends (based on composition time)

  • Server-side vs. Client-side micro frontend (based on composition host)

  • Horizontal vs. Vertical micro frontend (based on composition type)

For each type, the book provides a detailed architectural explanation along with sample implementations to ensure a clear understanding. In addition, the advantages and the disadvantages of each approach are thoroughly discussed. Finally, the author concludes which scenarios are best suited for each micro frontend architecture.

In Part 3, we dive into the most common challenges encountered when implementing micro frontends and solutions in details. First, the concept of Module federation and Native federation are introduced to address the problem of sharing dependencies. Next, it tackles styling conflicts, explaining how shadow DOM, modern CSS features and third-party styling libraries can resolve this issue. From a security perspective, we will learn how to write micro frontends more securely by following web standards. In the last chapter of this part, the author helps us to improve the scalability of the application and simplify micro frontend management by introducing the concept of a micro frontend discovery service.

In the first chapters of the final part, we temporarily shift focus from technical aspects to the business perspective. The book teaches us how to communicate effectively when bringing micro frontends to implementation within a company. We will explore how micro frontends impact UI, UX and screen design. Finally, a series of case studies will provide us with insights to see how micro frontends are implemented in the real world.

In conclusion, I highly recommend this book for its valuable information and the practical experience shared by the author. It provides you with a general overview of micro frontends and their related aspects. If you want to read the full book and explore more useful tips, tricks, and best practices, you can purchase it here: The Art of Micro Frontends: Build highly scalable, distributed web applications with multiple teams