微前端
大约 2 分钟
微前端
随着公司业务的不断发展,应用开始变得庞大臃肿,难以维护不说,每次开发、上线新需求时还需要花费不少的时间来构建项目。
一般情况下,我们会基于业务来拆分应用。每个应用都有一个自己的仓库,独立开发、独立部署、独立访问、独立维护
。
什么是微前端
微前端
是在 2016 年首次出现在 ThoughtWorks Technology Radar 上,将后端微服务的概念扩展到了前端。
微服务,主要是用来解决庞大的一整块后端服务带来的变更和扩展的限制。
同样的,面对越来越重的前端应用,可将微服务的思想照搬到前端,就有了微前端的概念。像微服务一样,一个前端应用,也可以按照一定的规则,拆分为不同的子应用,独立开发,独立部署,然后聚合成一个完整的应用面对客户。
微前端的优势
- 简单、分离、松耦合的代码仓库 微前端架构下的代码仓库更加简单、轻量。各个仓库的代码可以基于业务、权限、变更的频率、组织结构、后端微服务等原则拆分,界限明确,降低耦合,便于开发人员在开发过程中快速定位源代码,提高开发效率,降低维护成本。
- 独立开发、独立部署 代码库拆分以后,我们可以基于各个代码仓库独立开发。由于代码体积的缩小,项目构建时间变短,极大提升开发效率。
- 技术栈无关 在实际项目中,各个项目会因为各种各样的原因导致使用的技术栈不一样,而且版本还可能不一致。使用微前端架构,可以做到将使用不同技术栈(不同版本)的子应用聚合起来
微前端面临的问题
微前端方案给我们带来巨大便利的同时,也给我们带来了新的问题。
- 子应用切换
- 应用相互隔离,互不干扰
- 子应用之间通信
- 多个子应用并存
- 跨应用用户状态的存储