微前端调研

什么是微前端

https://micro-frontends.org/

Techniques, strategies and recipes for building a modern web app with multiple teams that can ship features independently.

多个团队 独立的功能 通过一定的技术手段(就是我们选择的框架) 构建成一个web应用

需要注意什么

基于上面的特点我们构建微前端app的时候需要考虑下面几点

  • 技术栈无关: 主框架不限制接入应用的技术栈,微应用具备完全自主权

  • 独立开发、独立部署: 微应用仓库独立,前后端可独立开发,部署完成后主框架自动完成同步更新

  • 独立运行: 聚在一起的时候,每个微应用之间状态隔离,不会相互影响

总起来 就是自主、独立、可聚合

做微前端的好处

对于开发来说:

  • 可维护性更好:每个微应用代码量少,不容易产生不可预知的耦合
  • 开发效率更高:每个微应用独立开发、测试,构建速度更快,模块级复用
  • 接入成本更低:技术栈无关
  • 增量升级: 在面对各种复杂场景时,我们通常很难对一个已经存在的系统做全量的技术栈升级或重构,而微前端是一种非常好的实施渐进式重构的手段和策略
  • 巨石应用的维护性差 开发效率低的问题

对于用户来说:

  • 容错性更高:一个微应用不可用,不会影响其他应用的展示

对于公司来说:

  • 横向的组织扩展成为可能

技术选型

npm
iframe
single-spa
qiankun
modulefederation

https://zhuanlan.zhihu.com/p/78362028