什么是微前端

微前端是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将单页面前端应用由单一的单体应用转变为把多个小型前端应用聚合起来的应用。各个前端应用可以使用不同的技术栈独立开发、独立部署。同时,它们也可以进行并行开发——这些组件可以通过 NPM、Git TagGit 或者 Git Submodule 来管理。

微前端目前为止还是比较年轻的架构模式,从如何实现应用自治、满足单一职责的原则、实现技术栈无关的重要特性到微前端的技术拆分方式,再到微前端业务拆分方式行业内都还没有实现统一和规范化。值得欣慰的是,在一些大厂的探索下,也已经涌现了不少相对成熟的方案:

image.png
微前端的实现意味着对前端应用的拆分,拆分应用的目的并不是为了在架构上好看,它还可以提升开发效率和降低项目维护成本。把架构师、程序员从臃肿的单体应用中解放出来。微前端是一种代码组织模式,更是一种软件架构思想。微前端也不只可以应用在 Web 开发,在 App 开发中也大有用武之地,近几年炒的很热的小程序理论上也属于微前端的架构模式。

为什么采用微前端