美文网首页
微前端实现方式对比

微前端实现方式对比

作者: 回不去的那些时光 | 来源:发表于2023-04-05 15:36 被阅读0次

iframe

优势

  • 技术成熟
  • 支持页面嵌入
  • 天然支持运行沙箱隔离、独立运行

劣势

  • 页面之间可以是不同的域名
  • 需要对应的设计一套应用通讯机制,如:监听、传参格式等内容
  • 应用加载、渲染、缓存等体系的实现

qiankun

优势

  • 基于single-spa封装,提供了更加开箱即用的 API。
  • 技术栈无关,任意技术栈的应用均可接入,不论是 React/Vue/Angular/JQuery 还是其他等框架。
  • HTML Entry 接入方式,让你接入微应用像使用 iframe 一样简单。
  • 样式隔离,确保微应用之间样式互相不干扰。
  • JS 沙箱,确保微应用之间 全局变量/事件 不冲突。
  • 资源预加载,在浏览器空闲时间预加载未打开的微应用资源,加速微应用打开速度。

劣势

  • 适配成本比较高,工程化、生命周期、静态资源路径、路由等都要做一系列的适配工作;
  • css 沙箱采用严格隔离会有各种问题,js 沙箱在某些场景下执行性能下降严重;
  • 无法同时激活多个子应用,也不支持子应用保活;

micro-app

优势

  • 不需要修改webpack配置,是目前市面上接入微前端成本最低的方案
  • 使用简单 ——
    我们将所有功能都封装到一个类WebComponent组件中,从而实现在基座应用中嵌入一行代码即可渲染一个微前端应用。
    同时micro-app还提供了js沙箱样式隔离元素隔离预加载数据通信静态资源补全等一系列完善的功能。
  • 零依赖 ——
    micro-app没有任何依赖,这赋予它小巧的体积和更高的扩展性。
  • 兼容所有框架 ——
    为了保证各个业务之间独立开发、独立部署的能力,micro-app做了诸多兼容,在任何技术框架中都可以正常运行。

EMP(webpack 5 module federation)

优势

  • webpack 联邦编译可以保证所有子应用依赖解耦;
  • 应用间去中心化的调用、共享模块;
  • 模块远程 ts 支持;

劣势

  • 对 webpack 强依赖,老旧项目不友好;
  • 没有有效的 css 沙箱和 js 沙箱,需要靠用户自觉;
  • 子应用保活、多应用激活无法实现;
  • 主、子应用的路由可能发生冲突;

自研框架

优势

  • 高度定制化,满足需要做兼容的一切场景
  • 独立的通信机制和沙箱运行环境,可解决应用之间相互影响的问题
  • 支持不同技术栈子应用,可无缝实现页面无刷新渲染

劣势

  • 技术实现难度较高
  • 需要设计一套定制的通信机制
  • 首次加载会出现资源过大的情况

相关文章

  • 微前端

    微前端 实现方式 iframe nginx配置(前后端不分离) 微前端优点纯前端解决方案可以使用多种技术栈完善的生...

  • vue动态路由实现权限管理(前端后端两种方式)

    主流的实现方式: 前端控制不用后端帮助,路由表维护在前端逻辑相对比较简单,比较容易上手 后端控制相对更安全一点,路...

  • qiankun 微前端应用实践与部署(三)

    微前端架构下,主应用有自己的路由模块,同时主应用支持以微前端的方式嵌入业务模块(子应用),如何实现呢? 关于路由 ...

  • vue项目实现导入/导出Excel

    前端方案 首先安装依赖包 前端实现方案 后端处理导出 前端通过字节流或者url实现导出,字节流方式导出的文件方式可...

  • Qiankun

    1、目标 针对事业部前端开发业务场景考虑使用一个项目实例,通过微前端的方式去实现业务功能模块的解耦。 如果可以实现...

  • SPA 中前端路由原理与实现方式

    SPA 中前端路由原理与实现方式 通常 SPA 中前端路由有2中实现方式,本文会简单快速总结这两种方法及其实现: ...

  • 微前端导读

    为什么需要学习微前端?我们通过3w(what,why,how)的方式来讲解微前端 1、什么是微前端? 微前端就是将...

  • 微前端:了解下概念

    qiankun(乾坤) 微前端实践 可能是你见过最完善的微前端解决方案 实施微前端的六种方式 微前端-美团系列

  • 谈谈水印实现的几种方式

    实现方式 水印的实现方式有很多,根据实现功能的人员分工可以分为前端水印和后端水印,前端水印的优点可以总结为三点,第...

  • spring boot 使用post方式实现excel模板下载功

    spring boot实现以流的方式输出excel文件模板: 前端使用axios以post方式,实现文件下载:

网友评论

      本文标题:微前端实现方式对比

      本文链接:https://www.haomeiwen.com/subject/luoeddtx.html