Micro-frontend Architecture
Before we speak about micro-frontend patterns and their relation with technologies like JavaScript frameworks, let’s dive into some of the most common architectures that enable decoupled frontends.
Micro-frontend Splits
We already established that decoupling a monolith helps us solve organizational issues, like teams working on independent features with completely different development cycles, dependencies, release pace, etc.
What kind of options do we have to split those tightly coupled applications, into multiple, composable parts, that we can independently deploy?
To make the right choices we will need to start by understanding the infrastructure and cloud offerings that exist to deploy those smaller and more maneageable apps. We will also need to understand our teams, and the business units they map to, so we can make decoupling decisions that are suitable for each one of those pairs -app type + team type-.
When we want to design our application with our users in mind, we will also need to know our user-base.
Vertical split vs. horizontal micro-frontend split
One of the most important decisions to make, in terms of composable decoupled frontends, is the split strategy or whether we will be splitting the frontend horizontally, or vertically. We may also resort to hybrid composition, with a combination of multiple technologies or using innovative patterns like island architecture