A frontend is a software or program that interacts with the application user and delivers the contents and experience based on various logics.
For any software or application requires a kind of frontend to interact with the business logic and easy to use.
These applications can be bundled and can be served as a monolithic (single) application for the users.
Let's move on to the topic:
A micro frontend is an approach of splitting the whole frontend application into loosely coupled "micro apps" which is similar to microservices in the backend.
The main advantage of using micro-frontends is,
- Easy to manage
- Teams with different frontend technologies can work seamlessly.
- It can communicate to any microservice backend with a different database.
- Scale specific micro app based on the need.
These micro apps can communicate with each other by custom events and we can also dynamically inject any micro app into others.
The deployment of these micro apps may be a little harder and the continuous deployment process should be taken care of.
Testing individual applications make things harder.
Creating micro-frontends should be done based on the necessity of the application and not because of your team knows various technologies.
Thanks. Comment your thoughts below.
Twitter - https://twitter.com/sasiKdharan