通过 100+ 技巧合集学习 Nuxt!
发布·  

Nuxt: 展望未来

过去一年 Nuxt 发生了很多事情。Sébastien 和 Daniel 分享了他们对我们已取得成就以及未来发展方向的看法。

2023 年回顾 - Sébastien

2023 年 1 月,Daniel 提出了 Nuxt: 2023 年愿景。我们实现了我们设定的大部分目标。有些目标尚未完成,我们将在今年解决它们!

这是富有成效的一年,团队发布了 9 个小版本:从 v3.1 到 v3.9。

在最初的 365 天里,Nuxt 3 达到了新的里程碑

  • GitHub 上 49,5K 颗星添加你的星标 😊)
  • npm 上 2700 万次下载
  • nuxt 仓库612 位贡献者
  • 142 位维护者 创建的 184 个模块
  • 2,423 个已关闭的问题
  • 1,728 个已合并的拉取请求
  • Discord26,300 名成员

10 月底,Nuxt 3 的下载量超过了 Nuxt 2 的下载量 🚀。

同月,我们发布了 Nuxt Image 1.0,它支持 Nuxt 3 和新功能,以确保您在使用图像时网站保持高性能。现在,只要您开始使用 <NuxtImg><NuxtPicture> 组件,Nuxt 就会自动安装它。

我们发布了 Nuxt DevTools,提升了我们对 Web 框架的开发者体验的期望。我很高兴看到我们启发了其他框架采用类似的方法:Vue DevToolsNext DevToolsRemix DevToolsVite Plugin DevToolsAstro Dev Toolbar 等等。

经过数月内部构建我们的 UI 库,Benjamin Canac 开源了 Nuxt UI,让您可以使用 TailwindCSS 构建的高度可定制组件,更快地创建网站。

Nuxt Content 已经发布了 10 个小版本,进行了各种改进:从性能到 MDC 语法。我们正在进行一些工作,以便将来更好地支持 边缘渲染。与此同时,NuxtLabs 团队正在开发 Nuxt Studio,让用户可以使用类似 Notion 的编辑器编辑 Markdown 文件,同时将内容保留在 git 仓库中。

展望 2024 年 - Daniel

我们已经进入 2024 年,这次更新确实迟到了!

以下是我对明年 Nuxt 发展方向的一些想法。

持续开发和重新构想

我希望看到我们继续调整最佳实践以适应不断变化的生态系统需求,扩展良好 DX 的边界,并改进 Nuxt。

我对我们目前在 Nuxt 中提供的功能感到非常满意。但我永远不想躺在功劳簿上。我们需要不断追求随着 Web 平台发展而出现的新可能性。我们已承诺 Baseline Compatibility(基线兼容性),并参与了 W3C WebDX 社区小组的相关对话。

我们有一些策略,使我们能够在优先考虑现有用户稳定性的同时做到这一点,并认识到 Nuxt 生态系统的范围。

  1. 总的来说,我们遵循一种模式:引入一个模块或实验性功能,可以在测试中禁用它,同时我们收集反馈并确认新功能的方向和 API。
  2. 我们采用了 ecosystem-ci 模式,以验证我们在 Nuxt 中的代码更改不会意外破坏下游项目。如果您维护一个依赖于 Nuxt 的、经过良好测试的模块或库,我欢迎您提交 PR,将您的项目添加到 nuxt/ecosystem-ci
  3. 我们计划发布一个 pull-based 测试,它将允许您配置 CI 以针对最新的 Nuxt nightly 版本进行自我测试,以便在新 Nuxt 版本发布时提供早期反馈,而不是在升级时才遇到问题。
  4. 最后,我们采用了 push-based 的方法来更新现有项目。当我们发现可能推广到生态系统的重大更改或改进时,我们将主动为 Nuxt 模块(以及在较小程度上,其他使用 Nuxt 的开源项目)发起 PR。

我希望这将使我们能够继续创新和试验新功能,而不会牺牲稳定性和可维护性。

特别是,请关注以下方面的积极开发

可持续的开源

我希望 Nuxt 能够长期保持为一个独立的、社区驱动的框架。

我很高兴看到基于 Nuxt 建立的成功企业,以及围绕 Nuxt 涌现的倡议,它们成为 赞助商 或以其他方式回馈核心框架,从而实现 Nuxt 的持续开发。

显然,NuxtLabs 是这方面的杰出典范。Pooya ParsaAnthony Fu 和我之所以能够全职从事开源工作,要归功于他们围绕 Nuxt 提供的付费服务:Nuxt UI ProNuxt ExpertsNuxt StudioNuxtHub(即将推出)。他们还 赞助来自 Vue、Vite、UnJS 和 Nuxt 的社区成员

对我来说,保持 Nuxt 的独立性和未来可持续性需要一个活跃且不断壮大的团队和社区。在未来几周内,我将宣布一个更广泛的“Nuxt 团队”,与核心团队并肩作战。这是为了表彰许多人的不懈努力,他们的贡献已经使 Nuxt 成为今天的样子。

我也希望看到更多团队成员或更广泛的社区成员在未来几年获得赞助,从事 Nuxt 生态系统的工作。如果您的公司从 Nuxt 中受益,请考虑赞助一些正在 Nuxt 上工作的开发者,无论他们是团队成员还是更广泛的社区成员。

友好的协作

从我们开始 Nuxt 3 的工作之初,我们就一直致力于提取出我们从中受益的实用程序、库甚至框架,以便它们能使更广泛的受众受益。

这当然是 UnJS 的起源,它在 Pooya Parsa(他也是 Nuxt 核心团队的关键成员)的领导下继续蓬勃发展。

我们希望继续保持这种友好的协作态度。虽然自己构建东西或将其据为己有可能是“成功”,但我对零和博弈没有任何兴趣。如果我们共同构建,作为一个框架和一个 Web 社区,我们将走得更远。

同样,我们的核心价值观之一是平台独立性(以及深入的平台集成)。我们支持 90 多个提供商,涵盖部署、测试、故事、KV 和缓存、数据库、图像 CDN 和字体主机。这种广泛的生态系统带来了丰厚的回报,并使人们可以根据提供商带来的价值自由选择使用哪个提供商。但这也意味着我们依赖于使用这些不同提供商的社区来帮助我们保持这些集成的最新状态。

Nuxt 不会消失,但我们希望我们共同完成的工作将比我们存在的时间更长久。

一个友好的社区

虽然很容易专注于技术卓越或开发者体验的质量,但我更受鼓舞的是看到 Nuxt 生态系统作为一个热情友好的社区持续发展。

我非常感谢 我们的社区 DiscordTwitterGitHub 上盛行的友好氛围。

Nuxt 4 怎么样?

众所周知,JavaScript 领域每周都会产生一个新的框架,这意味着存在一个自然的热度周期。

但我们持续开发 Nuxt 并非为了炒作,这也是我们致力于定期发布周期的部分原因

  • 每年发布 major 框架版本
  • 每月左右发布 minor 版本
  • 每周左右发布 patch 版本

您可以预期在 major 版本中看到重大更改,功能将在我们的 minor 版本中发布。这意味着我们不会将功能保留到 Nuxt 4;我们将在 6 周一次的 minor 版本发布周期中尽可能定期地发布这些功能。

我们的目标是 Nuxt 4 成为进行深思熟虑的重大更改的机会,这些更改要么具有直接的迁移路径(最好是自动化流程),要么可以选择加入以前的行为。

作为一个团队,我们肯定从 Nuxt 2 到 3 的过渡中吸取了教训,我将 Nuxt 4 视为我们证明 major 版本可以为用户带来良好体验的机会。

您可以通过浏览 我们的路线图 或查看 我们为 v4 标记的问题 来预览我们计划进行的更改。一如既往,非常欢迎反馈和愿望!

时间表

我们的 Nuxt 4 路线图有点复杂,因为我们还计划在 UnJS 生态系统中发布 major 版本。

粗略地说,我们的目标是在开始 UnJS 包生态系统中的一系列 major 版本发布(最终以 Nuxt v4 告终)之前,再为 Nuxt v3 和 Nitro v2 发布一个 minor 版本。

我们的目标是在 6 月 14 日或之前发布 Nuxt v4(但这显然取决于在 Nitro 的 major 版本发布后是否有足够的时间在社区中进行充分测试,因此请注意这并非确切日期)。

持续支持

在 Nuxt v4 发布后,我们将为 Nuxt v3 提供 六个月 的持续支持和错误修复,鉴于我们的目标是平稳升级路径,我们预计这将足以升级到 v4。

我们希望您和我们一样对即将发布的 Nuxt v4 感到兴奋!🎉


最后,非常感谢您在我们构建 Nuxt 的过程中给予的所有信任和支持。我知道我代表整个团队说,能够与 Nuxt 社区的每个人一起做这件事是如此荣幸!❤️

Daniel(代表整个 Nuxt 团队)