跳到主要内容

Vue Vapor

Vue Vapor 是 Vue 团队正在推进的一条实验路线。核心目标很直接:尽量绕开传统 VDOM diff,把组件编译成更细粒度、更直接的 DOM 更新逻辑。

这条路线很容易让人联想到 Solid.js,但 Vue Vapor 的重点并不是把 Vue 变成另一个 Solid,而是在尽量保留 Vue 心智和组合式 API 习惯的前提下,把运行时成本继续压低。

Vapor 在解决什么问题

传统 VDOM 模型已经很成熟,也足够通用,但它始终有一笔固定成本:

  • 生成虚拟节点
  • 做 diff
  • 决定 patch 路径

当页面结构很复杂、状态变化很密集,或者运行环境本身比较吃紧时,这笔成本就会越来越显眼。

Vapor 的方向,就是尽量把更多工作提前到编译阶段做掉,让运行时只关注真正会变的那一小块。

它和 Vue 3 现有优化的关系

Vue 3 本身已经做了很多编译优化,比如:

  • 静态提升
  • Patch Flag
  • Block Tree

Vapor 不是把这些推翻重来,而是继续沿着“多在编译期做判断、少在运行时兜底”的路线走得更远。

为什么这件事值得关注

这条路线如果成熟,会影响 3 件事:

  • 大型界面的更新成本
  • 首屏和交互时的运行时开销
  • Vue 在高频更新场景下的性能上限

这也是为什么 Vue 官方一直没有把 Vapor 当成一个小实验来讲,而是持续投入原型、编译器和生态验证。

现在的状态

更稳妥的理解是:Vapor 仍然属于实验方向。

  • 已经有独立原型和持续推进的代码仓库
  • 方向明确
  • 编译层思路清楚
  • 但还不是“可以在常规生产项目里默认采用”的能力

尤其是下面这些能力,仍然需要持续观察:

  • SSR / Hydration
  • KeepAlive
  • Transition
  • 一些和运行时行为强耦合的高级特性
  • 和现有生态工具的互操作性

适合现在怎么看待它

比较现实的看法是:

  • 值得了解
  • 值得关注演进
  • 不适合提前当成主线技术决策去押

如果当前目标是稳定交付业务,主线还是应该放在已经成熟的 Vue 3 能力上:<script setup>、宏能力、响应式、SSR、Hydration、TS 配合。

Vapor 更像 Vue 下一阶段性能路线的观察窗口。