尤雨溪日记:2022 回顾

大家好,这里是大家的林语冰。持续关注,坚持阅读,每天一次,进步一点。

免责声明

本文属于是语冰的直男翻译了属于是,略有删改,仅供粉丝参考,英文原味版请传送 2022 Year In Review

2023 已是过眼云烟,2023 Vue 生态是否有如年初预期那般可持续发展呢?本期《前端翻译计划》共享的是"Vue 之父"尤雨溪在 2023 年初回顾 2022 和展望 2023 的技术博客。

Vue 社区,新年快乐!2023 近在咫尺,我们想趁机回顾一下 2022 的大事件,并展望 2023。

2022 回顾

2022 年 2 月,我们将 Vue 的默认版本切换为 3.x。此次切换标志着 Vue 3 框架的所有官方部分万事俱备,包括对提供最新最佳实践指导的文档的重大修改。

我们仍处于生态系统迁移到 Vue 3 的过渡期。因此,在切换之后,我们更加专注于通过投资工具来改善 Vue 的 DX(开发体验)。我们的团队成员一直积极参与 Vite 的开发,我们通过发布 Volar 1.0 对 Vue 的 IDE 和 TS 支持进行了显著优化。

在 2022 年期间,我们看到 Vue 3 的 NPM 使用量增长了近 200%。在社区方面,Vue 3 生态系统现已成熟,提供了出色的解决方案辅助提高您的生产力。Nuxt 3 和 Vuetify 3 均于 2022 年 11 月尘埃落定,NativeScript for Vue 3 最近推出了测试版。此外,我们还要向其他已经支持 Vue 3 相当长一段时间的优秀项目表示敬意:Quasar、NaiveUI、Ionic Vue、PrimeVue、InkLine、ElementPlus 等。

尽管 Vue 3 现在是默认版本,但我们表示理解,由于迁移成本,一大坨用户不得不继续使用 Vue 2。为了确保 Vue 2 用户从框架的进步中受益,我们决定将 Vue 2 源码迁移至 TS,并将若干最重要的 Vue 3 功能向后移植到 Vue 2.7 中。我们还确保 Vite、Vue Devtools 和 Volar 都同时支持 Vue 2 和 Vue 3。

2023 会发生什么?

更小、更频繁的次版本

随着最后一个 Vue 2 次版本(Vue 2.7)发布,我们预计将在 2023 全力推进 Vue 3 的核心功能。我们有一长串的功能列表,我们十分鸡冻能够开发这些功能!

我们想要改进的一件事是我们的发布节奏。Vue 遵循 semver 版本标准,这意味着,我们应该只在次版本中提供功能。过去,我们采用了"big minor"方案,将一大坨功能组合到大型、不频繁的次版本中。这导致相当多的低复杂性功能在我们处理其他高复杂性功能时被叫停。2023,我们希望升级更小、更频繁的次版本,以便我们能够更快地推出更多功能。

这也意味着,我们将调整 Vue 3.3 中的内容。最初,我们计划在 Vue 3.3 中使 Suspense 和响应性转换(Reactivity Transform)从实验状态毕业。虽然但是,我们觉得这两者还需要进一步的 RFC 讨论,并且它们不应该阻碍其他更直接的功能落地。现在,Vue 3.3 的目标是实现脱颖而出且不需要 RFC 讨论的提案/计划功能 ------ 举个栗子,支持 <script setup> 宏中的外部导入类型。

与此同时,我们将:

  1. 进一步评估 Suspense 和响应性转换的准备情况。
  2. 花时间评估用户提交的优秀 RFC 和功能请求。
  3. 发布我们打算在 Vue 3.4 及更高版本中引入的功能的 RFC,比如 SSR 惰性水合。

预计本月晚些时候会爆料更多细节。

另一件需要注意的事情是,在可预见的未来,没有计划进行重大的破坏性更新。认识到用户在 Vue 2 到 Vue 3 过渡期间面临的挑战,我们希望为 Vue 提供一个更好的长期升级故事。

蒸汽模式(Vapor Mode)

蒸汽模式是我们一直在尝试的另一种编译策略,受到 Solid 的启发。给定相同的 Vue SFC,蒸汽模式将其编译为 JS 输出,与当前虚拟 DOM 筑基的输出相比,该输出性能更高,使用更少的内存,并且需要更少的运行时支持代码。目前仍处于早期阶段,但以下是若干要点:

  • 蒸汽模式适用于性能优先的用例。它可以选择启用,不会影响现有的代码库。
  • 至少,您将能够将蒸汽组件子树嵌入到任何现有的 Vue 3 App 中。理想情况下,我们希望在组件级别实现细粒度的选用,这意味着,在同一 App 中自由混合蒸汽和非蒸汽组件。
  • 仅使用蒸汽组件构建 App 允许您从打包中删除虚拟 DOM 运行时,显着减少基线运行时体积。
  • 为了实现最佳性能,蒸汽模式将能且仅能支持 Vue 功能的子集。尤其是,蒸汽模式组件将能且仅能支持组合式 API 和 <script setup>。虽然但是,这个受支持的子集在蒸汽和非蒸汽组件之间的工作方式完全相同。

当我们在今年晚些时候取得更多进展时,我们将共享更多细节。

Vue 议会

2023 已经有一大坨现场 Vue 议会:

  • Vue.js 阿姆斯特丹 ------ 2 月 9-10 日,荷兰阿姆斯特丹
  • Vue.js Live ------ 5 月 12-15 日,英国伦敦
  • VueConf US ------ 5 月 24-26 日,美国新奥尔良
  • VueFes Japan ------ 10 月 28 日,日本东京(信息待定)

本人(尤雨溪)计划亲自参加所有这些活动。阔别近 3 年之后,我迫不及待地想再次和社区面基 ------ 请过来打个招呼!

距离 Vue 2 停止支持倒计时一年

提醒一下,今天距离 Vue 2 支持结束正好一周年。我们创建了一个页面,解释了这一点的含义,并为那些希望在 EOL(生命周期结束)日期之后使用 Vue 2 的人概述了相关选项:有关 Vue 2 EOL 和扩展支持的详情。

《前端 9 点半》每日更新,持续关注,坚持阅读,每天一次,进步一点。

谢谢大家的点赞,掰掰~

相关推荐
轻口味1 小时前
【每日学点鸿蒙知识】AVCodec、SmartPerf工具、web组件加载、监听键盘的显示隐藏、Asset Store Kit
前端·华为·harmonyos
alikami1 小时前
【若依】用 post 请求传 json 格式的数据下载文件
前端·javascript·json
wakangda1 小时前
React Native 集成原生Android功能
javascript·react native·react.js
吃杠碰小鸡1 小时前
lodash常用函数
前端·javascript
emoji1111112 小时前
前端对页面数据进行缓存
开发语言·前端·javascript
泰伦闲鱼2 小时前
nestjs:GET REQUEST 缓存问题
服务器·前端·缓存·node.js·nestjs
m0_748250032 小时前
Web 第一次作业 初探html 使用VSCode工具开发
前端·html
一个处女座的程序猿O(∩_∩)O2 小时前
vue3 如何使用 mounted
前端·javascript·vue.js
m0_748235952 小时前
web复习(三)
前端
迷糊的『迷』2 小时前
vue-axios+springboot实现文件流下载
vue.js·spring boot