跪拜 Guibai
← All articles
Frontend

Vue Swaps Its Engine: Vapor Mode, alien-signals, and a 4x Speed Bump in 3.6

By 涛涛ing ·
Read original on juejin.cn ↗ Google Translate ↗ Alt translation

A 4x reactivity speedup and an optional virtual-DOM bypass that requires no code changes reset the baseline for what a framework upgrade can deliver. For teams weighing a rewrite against incremental improvement, Vue 3.6 makes the case that a drop-in dependency bump can rival the performance of compile-to-DOM competitors like SolidJS.

Summary

Vue 3.6 replaces both its rendering and reactivity engines. Vapor Mode, activated per-component with a `vapor` attribute on `<script setup>`, bypasses the virtual DOM entirely, cutting initial JS by two-thirds and mounting 100,000 components in under 100 ms. The new alien-signals library uses a push-pull hybrid algorithm that marks computed properties dirty on change but recalculates only when actually read, yielding 30x higher computed throughput and 65% lower memory use than Vue 3.5. Upgrading requires a single `npm install` with zero code changes.

At the same Shanghai conference, Evan You announced that Vue 4.0 has begun, targeting Vapor Mode stabilization, compile-time reactivity experiments, and WebAssembly support, with a beta expected in the second half of 2026. Vite 8 has also landed, replacing esbuild and Rollup with the Rust-based Rolldown bundler, which cut Linear's build from 46 seconds to 6 and a million-line project from 12 minutes to 2.

The three moves together point to a frontend stack that pushes slow paths into Rust-compiled infrastructure while keeping the developer-facing layer fast. Vapor Mode and alien-signals also make Vue-generated output lighter and more predictable for AI agents, a shift the project frames as moving from a human-only framework to a human-plus-AI platform.

Takeaways
Vapor Mode skips the virtual DOM when a `<script setup vapor>` attribute is present, cutting initial JS by roughly two-thirds and mounting 100,000 components in under 100 ms.
Vapor components coexist with virtual-DOM components in the same tree through the `vaporInteropPlugin`.
The alien-signals reactivity engine is 1 KB compressed and uses a push-pull algorithm: changes mark dependents dirty, but recalculation runs only when a value is actually read.
Benchmarks show Vue 3.6 is 4x faster than 3.4, 1.8x faster than 3.5, with 30x higher computed throughput and 65% lower memory usage.
Upgrading from 3.5 to 3.6 has no breaking changes; `npm install vue@latest` is the full migration.
Vue 4.0 aims to stabilize Vapor Mode, explore compile-time reactivity and WebAssembly, and ship a beta in H2 2026.
Vite 8 replaces esbuild and Rollup with the Rust-based Rolldown bundler, delivering 10–30x faster builds while keeping plugin compatibility.
Real-world Vite 8 results: Linear’s build dropped from 46 s to 6 s; a million-line project went from 12 min to 2 min.
Vite+, an all-Rust end-to-end toolchain covering compiler, bundler, server, and deployment, was previewed as the next step.
Conclusions

Making the virtual DOM optional per component, rather than a framework-wide flag, sidesteps the all-or-nothing migration trap that killed earlier compile-to-DOM experiments.

The push-pull algorithm in alien-signals is a genuine algorithmic improvement, not just a faster implementation of the same approach; it avoids wasted recomputation that most reactive systems still perform.

Vue 3.6’s zero-breaking-changes upgrade is a strategic counter to the fatigue caused by major-version rewrites elsewhere in the frontend ecosystem; it turns a performance leap into an impulse install.

Rolldown unifying dev and production bundling into one Rust engine eliminates a long-standing source of subtle environment-specific bugs that came from running esbuild in dev and Rollup in production.

The explicit framing of Vue as an AI-agent-friendly platform signals that framework authors now see machine consumers of component trees as a first-class design target, not an afterthought.

Concepts & terms
Vapor Mode
A per-component mode in Vue 3.6, activated by adding `vapor` to `<script setup>`, that compiles templates to direct DOM operations instead of going through the virtual DOM reconciliation layer.
alien-signals
A 1 KB reactive signal library using a push-pull hybrid algorithm: state changes push dirty marks down the dependency graph, and values are pulled (recalculated) only when actually read, avoiding unnecessary computation.
Rolldown
A Rust-based JavaScript bundler that replaces both esbuild (dev) and Rollup (production) in Vite 8, offering 10–30x speed improvements over Rollup while maintaining plugin compatibility.
Push-Pull hybrid algorithm
A reactivity strategy where changes eagerly mark dependents as dirty (push), but the actual recalculation is deferred until a consumer requests the value (pull), preventing wasted work on unread computed properties.
From the discussion

The discussion is almost entirely a pile-on about a date error in the article. Multiple comments point out that the article claims a July 18th release when the current date is July 15th, calling it grandstanding, a scheduling mistake, or a time-travel glitch. One stray comment promotes an AI proxy service, and a final remark generalizes about deception, but no one engages with Vue's Vapor Mode or the performance claims.

The article's stated July 18th date contradicts the actual July 15th date, leading to accusations of clickbait or a scheduling error.
An unrelated promotional comment for an AI proxy service was posted.
A general observation about deception is made, implying the article's date error undermines its credibility.
Featured comments
golyu 3 likes

Today is only July 15th, you're just grandstanding, right?

See top comments, translated →
Source: juejin.cn ↗ Google Translate ↗ Backup ↗