1. wujie(无界)的 iframe + Web Components 双层沙箱模型与 qiankun ProxySandbox 的性能与隔离对比
无界(wujie)的 iframe + Web Components 双层沙箱模型与 qiankun 的 ProxySandbox 相比,在性能与隔离强度上有哪些差异?
- 无界双层沙箱的职责划分与运行机制
- ProxySandbox 的代理拦截模型
- 性能(JS 执行、通信开销)与隔离强度(逃逸面)的综合对比
无界的双层模型是:子应用 JS 在隐藏 iframe 的独立 window 中执行,DOM 通过 WebComponent(shadowRoot)承载呈现,JS 隔离靠 iframe 的原生全局边界、样式与 DOM 隔离靠 WebComponent 边界,隔离强度最高——JS 层面几乎没有代理可绕过的逃逸面,第三方库在沙箱内缓存 window 引用也天然安全。qiankun 的 ProxySandbox 则用 with + Proxy 在同一 window 上下文内做读写代理,无 iframe 开销、激活切换快,但代理存在语义盲区(Symbol、不可配置属性、严格模式 with 失效等),逃逸面相对更大。性能上:无界需要 iframe 的创建与桥接通信成本,且 shadowRoot 对部分 UI 库的弹窗/定位有适配要求;qiankun 的 Proxy 拦截对高频全局访问有 trap 开销,但无进程级隔离成本。结论:追求强隔离与多技术栈混用选无界,追求低切换成本与生态成熟度选 qiankun。
对比题要建立统一坐标:隔离强度(谁更难逃逸)、性能(JS 执行与通信开销)、工程成本(生态适配)。无界强在原生边界,qiankun 强在轻量与成熟,回答要给出场景化结论而非单边站队。