Microfrontends are an approach to building frontend applications that aims to address some of the challenges of single page applications (SPAs) by splitting the application into independently deliverable components. Some benefits of the microfrontends approach include abstracting complexity away from developers, allowing faster deployment of modules, grouping teams by domain contexts, and allowing teams to choose their own technology stacks. Microfrontends break down a large application into smaller sub-applications or "microfrontends" that can be developed and deployed independently similar to a microservices architecture for backends.
11. So what are Microfrontends?
aka Frontend Microservices
12. 12
The term "Microservice Architecture" has sprung
up over the last few years to describe a particular
way of designing software applications as suites
of independently deployable services.
M A R T I N F O W L E R M A R C H 2 0 1 4
13. 13
Abstract Complexity away from developers.
Deploy modules quickly.
Group Teams by domain contexts.
Allow teams to choose their tech stack.
Principles of
Microservices
31. 31
App too big for a single person to have full knowhow.
Teams have different sprints / deployment cycles.
Stay Future Ready!
Have strongly opinionated team members. 俗_()_/俗
Think about Microfrontends when?
#4: We love SPAs dont we.
A new framework launches very month showing how its better at building an SPA than the other frameworks
We like to geek out on things like dynamic imports, webpack configs, code splitting / chunking..
Until about a year back I too loved SPAs.. Co-incidently my very first talk at a conference was demoing an SPA commerce storefront built on top of Magento.
Lets take a moment to step back and see why SPAs have become popular.
Speed
Better UX
#9: ---Teleprompter notes----
---Narration ---
Building monolith SPA on top of a microservices, completely nullifies the agility of the microservice architecture.
From experience, the frontend undergoes far more frequent changes and the very thought of having to deploy the entire app bundle for even a small change in any one of the components, would trigger a full set of regression tests.
#13: ---Teleprompter notes----
---Narration ---
One of the most important features and often the first one to miss is the ability to independently deploy your service or feature to production.
Netflix is known to have just 1 developer working on a microservice who have root access to the server and build and deploy their service to production atleast once a day.
#22: Getting Software Development Right
Its all about the team this is was matters! Mature teams need to be enabled to make their own decisions.