返回专题

专题 2018

微前端

特点介绍 相关笔记

微前端
本文目录3
  1. 特点介绍
  2. 为什么不使用 Iframe
  3. Reference

特点介绍

优点:

  • 多应用技术栈无关
  • 沙箱支持
  • 支持动态插拔
  • 性能比iframe方案要好

缺点:

  • 由于是使用 shadow DOM 来实现 CSS 隔离, 一些组件可能会越过 Shadow Boundary 到外部 Document Tree 插入节点,而这部分节点的样式就会丢失

为什么不使用 Iframe

  1. url 不同步。浏览器刷新 iframe url 状态丢失、后退前进按钮无法使用。
  2. UI 不同步,DOM 结构不共享。想象一下屏幕右下角 1/4 的 iframe 里来一个带遮罩层的弹框,同时我们要求这个弹框要浏览器居中显示,还要浏览器 resize 时自动居中..
  3. 全局上下文完全隔离,内存变量不共享。iframe 内外系统的通信、数据同步等需求,主应用的 cookie 要透传到根域名都不同的子应用中实现免登效果。
  4. 慢。每次子应用进入都是一次浏览器上下文重建、资源重新加载的过程。

其中有的问题比较好解决(问题1),有的问题我们可以睁一只眼闭一只眼(问题4),但有的问题我们则很难解决(问题3)甚至无法解决(问题2),而这些无法解决的问题恰恰又会给产品带来非常严重的体验问题, 最终导致我们舍弃了 iframe 方案。

Reference

探索微前端的场景极限 · 语雀

本文主要介绍总结了一些基于 qiankun 的微前端应.
https://www.yuque.com/kuitos/gky7yw/uyp6wi

Why Not Iframe · 语雀

为什么不用 iframe,这几乎是所有微前端方案第一个.
https://www.yuque.com/kuitos/gky7yw/gesexv

返回首页
上一篇Webpack 原理下一篇防抖节流

Discussion

留言与讨论

想法、补充和不同意见都欢迎。