What this book covers
Chapter 1, Why Micro Frontends?, covers micro frontends in general, their primary areas of use, as well as the challenges and problems they bring. We will explore what strategies can be used to mitigate these.
Chapter 2, Common Challenges and Pitfalls, discusses the most important challenges and pitfalls when implementing micro frontends, together with a path leading to a proper solution.
Chapter 3, Deployment Scenarios, looks at the scalability of micro frontends with respect to their deployment. This chapter includes CI/CD pipeline examples and their ideal use cases.
Chapter 4, Domain Decomposition, explores a way of thinking that can be used when deciding what should be placed in a micro frontend. This chapter introduces methods from domain-driven design that can be used to make these decisions.
Chapter 5, Types of Micro Frontend Architectures, introduces the phase space to create micro-frontend architecture, including the most popular patterns available. This chapter outlines the advantages and disadvantages of the extremes within the phase space.
Chapter 6, The Web Approach, discusses the simplest approach to handling micro frontends by leveraging existing web technologies, such as iframes or links.
Chapter 7, Server-Side Composition, discusses a popular backend method of combining frontend fragments that come from different servers into a single website, as well as its extension into an islands-based architecture.
Chapter 8, Edge-Side Composition, looks at an even more simplified method than server-side composition to compose a website on the edge, using a reverse proxy setup.
Chapter 9, Client-Side Composition, shows how to leverage web components to compose one website from different fragments in a user’s browser.
Chapter 10, SPA Composition, discusses a way of bringing together different SPA websites in a joint solution, composed within a user’s browser.
Chapter 11, Siteless UIs, introduces a micro frontend pattern that brings the popular properties of serverless functions to the frontend.
Chapter 12, Sharing Dependencies with Module Federation, deep-dives into sharing dependencies between different micro frontends, using technologies such as Module Federation or Native Federation.
Chapter 13, Isolating CSS, introduces several techniques to prevent styling collisions when placing fragments from different micro frontends in a single website.
Chapter 14, Securing the Application, contains useful strategies to mitigate potential vulnerabilities, using established web standards and implementation guidelines.
Chapter 15, Decoupling Using a Discovery Service, discusses the need and usefulness of a central service to aggregate different micro frontends.
Chapter 16, Preparing Teams and Stakeholders, deals with the organizational shift that is necessary when introducing micro frontends.
Chapter 17, Dependency Management, Governance, and Security, provides some guidance on dependency sharing and general micro frontend governance for projects of any kind. This chapter also touches on the topic of security, from deployment to runtime.
Chapter 18, Impact of Micro Frontends on UX and Screen Design, reveals the most critical aspects that need to be handled when creating designs for micro frontend solutions with practically unlimited scalability.
Chapter 19, Building a Great Developer Experience, lists the most crucial properties to include to satisfy internal or external developers of a project. This is crucial to keep up a high level of productivity.
Chapter 20, Case Studies, lists five different real-world micro frontend projects with their background, core decisions, and the overall taken architecture.