Nuxt:展望未来
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 个已关闭的 issue
- 1,728 个已合并的 pull request
- Discord 上 26,300 名成员
10 月底,Nuxt 3 的下载量 超过了 Nuxt 2 的下载量 🚀。
同月,我们发布了 Nuxt Image 1.0,它支持 Nuxt 3,并具有新功能,以确保你的网站在使用图像时保持高性能。现在,只要你开始使用 <NuxtImg>
或 <NuxtPicture>
组件,Nuxt 就会自动安装它。
我们发布了 Nuxt DevTools,提升了我们对 Web 框架的开发体验。我很高兴看到它启发了其他框架采用类似的方法:Vue DevTools, Next DevTools, Remix DevTools, Vite Plugin DevTools, Astro 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 生态系统的范围。
- 一般来说,我们遵循以下模式:引入一个模块或实验性功能,该功能可以在测试中禁用,同时我们收集反馈并确认新功能的方向和 API。
- 我们采用了 ecosystem-ci 模式,验证我们在 Nuxt 中的代码更改是否会无意中破坏下游项目。如果你维护一个依赖于 Nuxt 的经过良好测试的模块或库,我欢迎你提交 PR 将你的项目添加到 nuxt/ecosystem-ci。
- 我们计划发布一个 基于拉取的测试,该测试将允许你配置你的 CI,以针对 Nuxt 的最新每日版本进行自我测试,以便在升级时而不是遇到问题时尽早提供关于新 Nuxt 版本的反馈。
- 最后,我们采用了一种 基于推送的方法来更新现有项目。当我们发现可以推广到生态系统的重大更改或改进时,我们将主动向 Nuxt 模块(以及在较小程度上,向使用 Nuxt 的其他开源项目)提出 PR。
我希望这将使我们能够在不牺牲稳定性和可维护性的情况下继续创新和试验新功能。
特别是,请关注以下方面的积极开发
- ✅ nuxt/fonts - 正在开发 v1.0.0
- ✅ nuxt/eslint - 正在开发 v1.0.0
- 🔥 nuxt/scripts - 即将发布
- 🚧 nuxt/a11y - 即将推出!
- 🚧 nuxt/auth - 即将推出!
- 🚧 nuxt/hints - 即将推出!
可持续的开源
我希望 Nuxt 长期以来能够继续成为一个独立的、社区驱动的框架。
我很高兴看到基于 Nuxt 成功创立的企业,以及围绕 Nuxt 涌现的倡议,它们成为 赞助商 或以其他方式回馈核心框架,从而实现 Nuxt 的持续开发。
显然,NuxtLabs 是最突出的例子。Pooya Parsa、Anthony Fu 和我都有能力全职从事开源工作,这要归功于他们围绕 Nuxt 的付费服务:Nuxt UI Pro, Nuxt Experts, Nuxt Studio 和 NuxtHub(即将推出)。他们还 赞助了来自 Vue、Vite、UnJS 和 Nuxt 的社区成员。
对我来说,保持 Nuxt 的独立性和未来可持续性需要一个积极且不断壮大的团队和社区。在接下来的几周里,我将宣布一个更广泛的“Nuxt 团队”以及核心团队。这是为了认可许多人的不懈努力,他们的贡献已经使 Nuxt 成为了现在的样子。
我还希望看到更多的团队成员或更广泛的社区在未来几年内获得赞助,以便在 Nuxt 生态系统中工作。如果你的公司从 Nuxt 中受益,请考虑赞助一些在 Nuxt 上工作的开发人员,无论他们是团队成员还是更广泛的社区成员。
友好的合作
从我们开始开发 Nuxt 3 之初,我们就一直致力于提取出我们从中受益的实用程序、库,甚至框架,以便它们也能够使更广泛的受众受益。
当然,这就是 UnJS 的起源,它在 Pooya Parsa(他也是 Nuxt 核心团队的关键成员)的领导下继续蓬勃发展。
我们希望继续保持这种友好的合作态度。虽然自己构建东西或将其保密可能是“成功”,但我没有时间玩零和游戏。如果我们 一起 构建,我们将作为一个框架和一个 Web 社区走得更远。
同样,我们的核心价值观之一是平台独立性(以及深度平台 集成)。我们支持跨部署、测试、故事、KV 和缓存、数据库、图像 CDN 和字体主机的 90 多个提供商。这种广泛的生态系统带来了丰厚的回报,并使人们能够根据他们带来的价值来选择使用哪些提供商。但这 也 意味着我们依赖于使用这些不同提供商的社区来帮助我们保持这些集成处于最新状态。
Nuxt 不会消失,但我们希望我们共同完成的工作能够比我们存在的时间更长久。
一个热情的社区
虽然很容易专注于技术卓越或开发人员体验的质量,但我更受鼓舞的是看到 Nuxt 生态系统作为一个热情友好的社区的持续发展。
我非常感谢在 我们的社区 Discord、Twitter 和 GitHub 上盛行的友善语气。
Nuxt 4 怎么样?
众所周知,JavaScript 领域每周都会产生一个新的框架,这意味着存在自然的炒作周期。
但我们并不打算通过 Nuxt 的持续开发来进行炒作,这也是为什么我们致力于定期发布周期的部分原因
- 每年发布 主要 框架版本
- 每月左右发布 次要 版本
- 每周左右发布 补丁 版本
你可以预期在主要版本中看到重大更改,在次要版本中发布功能。这意味着我们不会为了 Nuxt 4 而保留功能;我们将在 6 周的次要版本发布周期中尽可能定期发布这些功能。
我们的目标是使 Nuxt 4 成为进行 周全考虑的 重大更改的机会,并具有直接的迁移路径(理想情况下具有自动化流程)或选择加入先前行为的能力。
我们团队在从 Nuxt 2 过渡到 Nuxt 3 的过程中无疑吸取了一些教训,我将 Nuxt 4 视为一个机会,证明主要版本发布可以为用户带来良好的体验。
您可以通过浏览我们的路线图或查看我们为 v4 标记的问题来预览我们正在考虑的更改。 我们一如既往地欢迎反馈和期望!
时间表
我们的 Nuxt 4 路线图有点复杂,因为我们还计划在整个 UnJS 生态系统中进行重大版本发布。
粗略地说,我们的目标是在开始在整个 UnJS 包生态系统中进行一系列重大版本发布之前,再发布一个 Nuxt v3 和 Nitro v2 的次要版本 - 最终达到 Nuxt v4。
我们的目标是在 6 月 14 日或之前发布 Nuxt v4 (当然,这取决于在 Nitro 的主要版本发布后是否有足够的时间在社区中进行充分的测试,所以请注意,这并非确切的日期)。
持续支持
在 Nuxt v4 发布后,我们将为 Nuxt v3 提供 六个月 的持续支持和错误修复,我们预计这将足以升级到 v4,因为我们的目标是提供一个平稳的升级路径。
我们希望您和我们一样对即将发布的 Nuxt v4 感到兴奋!🎉
最后,非常感谢您在我们构建 Nuxt 的过程中给予的所有信任和支持。 我知道我可以代表整个团队说,能够与 Nuxt 社区中的每个人一起做这件事是一种荣幸!❤️
Daniel(代表整个 Nuxt 团队)