陌笛
微前端是什么?
一种类似于微服务的架构,是一种由独立交付的多个前端应用组成整体的架构风格,将前端应用分解成一些更小、更简单的能够独立开发、测试、部署的应用,而在用户看来仍然是内聚的单个产品。
简而言之,就是将一个复杂的应用分解成几个子应用,这几个子应用能独立开发、测试、部署,再由这些子应用构成一个总应用
微前端(Micro-Frontends)背景
随着时间的推移以及应用功能的不断丰富,我们的应用变得越来越庞大且越来越难以维护。所以我们就不得不对应用进行拆分,从最开始的前后端分离到后面的微服务都是对应用进行拆分的过程,
微服务是对后端项目的拆分,而微前端则是对前端项目的拆分。
微前端的意义
1. 微前端的特点
- 低耦合:当下前端领域,单页面应用(SPA) 是非常流行的项目形态之一,而随着时间的推移以及
应用功能的丰富,单页应用变得不再单-而是越来越庞大也越来越难以维护,往往是改一处而动全
身,由此带来的发版成本也越来越高。微前端的意义就是将这些庞大应用进行拆分,并随之解耦,
每个部分可以单独进行维护和部署,提升效率。 - 不限技术栈:在不少的业务中,或多或少会存在-些历史项目,这些项目大多以采用老框架类似
(Backbone.js, Angular.js 1)的B端管理系统为主,介于日常运营,这些系统需要结合到新框架
中来使用还不能抛弃,对此我们也没有理由浪费时间和精力重写旧的逻辑。而微前端可以将这些系
统进行整合,在基本不修改来逻辑的同时来同时兼容新老两套系统并行运行。
2. 微前端的价值
微前端实现
微前端应该具备哪些能力
一些可以实现微前端的方案
- 使用HTTP服务器的路由来重定向多个应用
- 在不同的框架之上设计通讯、加载机制,诸如Single- -SPA qiankun icestark
- 通过组合多个独立应用、组件来构建一个单体应用,微前端之构建时方案(Module Federation EMP)
- iframe
- 纯用Web Components
业界主流微前端框架
- single-spa: 社区公认的主流方案,可以基于它做二次开发
- qiankun: 基于single-spa封装,增加umi特色,增加沙箱机制(JS、 ShadowDOM等)
- icestark: 类似于single-spa实现,React技术栈友好,阿里的另一个轮子
更多推荐
陌笛
发布评论