---
sidebar_position: 1
title: Introduction
---
# Introduction

Micro frontend is an architecture similar to microservices. It is an architectural style composed of multiple front-end applications delivered independently. It decomposes the front-end application into some smaller and simpler applications that can be independently developed, tested and deployed., while still a cohesive single product in the eyes of users.

It mainly solves two problems:

- As the iterative application of the project becomes larger and more difficult to maintain.
- Collaborative development of projects across teams or departments leads to inefficiencies.

## Keyword

In the micro frontend, applications are divided into **main application**, and **sub-applications**.

- Main application: The base project of the micro frontend project, all sub-applications will be loaded by it.
- Sub-application: An application developed and deployed independently will eventually be loaded by the main application.

## Features

- Base on [Garfish](https://www.garfishjs.org/guide)
- Generator supports
- Support React component-based reference micro-front-end sub-application
- Support loading
- Support main application online and sub-application offline debugging mode

You can learn how to develop a micro frontend master app in the section [Experience micro frontend](/guides/topic-detail/micro-frontend/c02-development).
