Video thumbnail

    Vue 的演进:从框架到生态系统 | Evan You Laracon US 2025

    Valuable insights

    1.Vue 持续增长与稳定发展: Vue 3在发布后持续获得显著增长,拥有数百万用户和数百万周下载量。开发团队致力于维护其稳定性,确保现有代码在未来仍能兼容运行。

    2.Vite 成为主流构建工具: Vite 已经超越 Webpack 成为领先的 JavaScript 构建工具,每周下载量超过2300万。其快速的开发体验和对多框架的支持使其广受欢迎。

    3.Vue 3.6 引入性能优化与 Vapor Mode: Vue 3.6通过重构响应式系统提升了性能,并引入了实验性的 Vapor Mode。Vapor Mode旨在实现极致性能和更小的包体积,使得Vue在JS框架基准测试中表现出色。

    4.JavaScript 工具链的整合愿景: Evan You 创立 Void Zero 公司,旨在通过 Oxc、Rolldown 和 V+ 等项目,统一零散的 JavaScript 工具链。目标是打造一个高性能、统一设计的工具生态系统。

    5.“信号”范式在JS框架中普及: JavaScript 生态系统中的许多框架(除 React 外)正趋向于采用“信号”这一响应式范式。Vue 的响应式系统在内部重构后,速度更快,并与此趋势保持一致。

    6.Laravel 社区对 Vue 早期增长贡献巨大: Vue 的早期普及,特别是1.0版本之前,得益于 Laravel 社区的发现和推广。Taylor Otwell 和 Jeffrey Way 等人的推荐,为 Vue 带来了重要的初始用户群。

    7.从开发者到产品管理者的转变: 作为 Vue 和 Void Zero 的创始人兼CEO,Evan You 的工作重心已从纯粹的编码转向产品管理和战略规划,以推动更宏观的工具链发展。

    Vue的起源与成长

    Vue.js 的诞生与早期发展离不开其创始人尤雨溪的远见与辛勤工作。在 Laravel 社区中,Taylor Otwell 和 Jeffrey Way 等人很早就注意到了 Vue.js 的潜力,并积极推广,这对于 Vue 早期的普及起到了至关重要的作用。尤雨溪对此表示深深的感谢,并承认 Laravel 社区在 Vue 发展初期扮演了“发现者”的角色,将其引入更广阔的开发者视野。自2016年起,尤雨溪成为一名独立的开源开发者,并于2023年创立了 Void Zero 公司,旨在应对 JavaScript 生态系统的复杂性并提供更优秀的工具。

    Vue 与 Laravel 的早期联系

    Taylor Otwell 在 Vue 达到1.0版本之前就对它表现出兴趣,这证明了他对优秀技术的独到眼光。早在 2015年,Vue 刚于 2014年 创建后不久,Taylor 的推文就引起了关注。当时,Vue 每周只有大约 1,800次 下载,许多 Laravel 用户通过脚本或CDN直接使用它。

    • Vue 1.0:于 2015年10月 发布。
    • 尤雨溪全职投入 Vue 开发并首次在 Laracon 演讲:2016年7月
    • Vue 2:紧随其后发布。
    • Vue 3:在 2019年 Laracon 演讲后发布,并于 2020年 正式推出。
    • Vue 3 成为默认版本:2022年1月,经过漫长的过渡期。
    • Vue 2 正式停止维护:2023年底

    Vue 3的现状与未来

    Vue 3 已经成为 Vue 生态系统的主导力量,npm 上超过 70% 的下载量来自 Vue 3 项目,并且过去一年的增长率超过 67%。这一显著增长对于一个已存在十多年的框架来说尤其令人印象深刻。Vue 团队目前没有发布 Vue 4 的计划,因为 Vue 2 到 Vue 3 的升级对许多用户来说是一次重大变革,因此团队现在将重心放在 Vue 3 的稳定性上,承诺让开发者相信他们当前的代码在五年甚至十年后仍能正常运行。

    Vue 3.6 的内部优化

    Vue 3.6 的主要改进集中在内部优化上,包括响应式系统的重构。Vue 的响应式系统作为独立的 npm 包 (@vue/reactivity) 存在,其 API 契约保持稳定,这使得团队能够在不破坏外部兼容性的前提下,多次重构其内部实现。此次3.6版本的重构,将使系统比以往更快。

    • “信号”(Signals)作为一种新的响应式数据源概念,在 JavaScript 生态系统中变得越来越流行。
    • 除了 React 之外,几乎所有主流框架,如 Angular、Preact、Svelte 5 和 Solid,都已支持或引入了信号。
    • SolidJS 是最早普及信号概念的框架之一。
    • TC39 甚至提出了将信号作为 JavaScript 语言内置概念的提案。
    “我们现在看到,在 JavaScript 生态系统中,除了 React 之外,几乎每个框架都在趋向于相同的范式。”

    Vapor Mode: 极致性能

    Vapor Mode 是 Vue 3.6 中引入的一项实验性功能,它改变了 Vue 单文件组件的编译方式,以实现极致的性能优化。在 JS 框架基准测试中,Vapor Mode 使得 Vue 的渲染性能得以与 Solid 和 Svelte 等轻量级、高性能的框架并驾齐驱,甚至在某些方面超越它们。默认情况下,Vapor Mode 能将包体积减小到约 7KB

    特性
    Vapor Mode
    传统模式
    API 兼容性
    支持相同 API (子集)
    支持完整 API
    组件支持
    仅限单文件组件和 Composition API
    支持单文件组件和 Options API
    编译方式
    编译器驱动,高效输出
    虚拟 DOM 渲染
    包体积
    默认 7KB
    较大
    性能
    极致优化,与轻量框架媲美
    高性能但略逊色于极致优化框架
    可选性
    可按组件或应用级别选择
    应用默认

    Vapor Mode 支持与现有代码完全相同的 API(但仅限于子集),目前仅支持单文件组件和 Composition API。它高度以编译器为中心,能够更好地分析 JavaScript 和模板之间的关系,生成更高效的输出。用户可以对特定页面或组件启用 Vapor Mode,甚至可以在虚拟 DOM 应用中嵌入 Vapor Mode 组件,反之亦然,提供了高度的灵活性。激活 Vapor Mode 只需在 `