下面是 micro-frontends.org 对微前端的定义:
更精炼的描述是:Techniques, strategies and recipes for building a modern web app with multiple teams that can ship features independently.
我们提炼关键字:
Techniques, strategies and recipes 微前端不是具体的技术、而是一个方法论、策略以及一些方案
modern web app。指出微前端的目的,即服务于现代web应用的研发。
随着业务扩展,现代 web 应用在功能上已经非常复杂、从而给开发、维护、协作、项目管理等工作造成较大的挑战。
现代Web 应用(或者说巨石应用)的主要痛点:
TODO:
微前端这种架构模式衍生于微服务,旨在将一个传统的巨型项目拆分为专注于单一责任与功能的小型应用,这些应用可以有不同的团队进行开发和维护,最后组合出复杂的大型应用。
总之,微前端是为了解决现代web应用的两大问题:
independent teams、cross functional、multiple teams。上面的定义中,大部分篇幅是在描述微前端适合什么团队?更精确的说,有效实施微前端对团队组织的要求:
后端采用微服务、前端采用微前端,每一个垂直泳道对应一个功能和团队
如果后端已经采用了微服务,可能可以很自然地实施微前端。