在 2023 年里,Nuxt 发生了很多事情。 Sébastien 和 Daniel 分享了他们对 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 个模块
- 解决了 2423 个 issues
- 合并了 1728 个 pull request
- Discord 上有 26300 名会员
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 提供的服务感到非常满意。但我永远不想安于现状。随着网络平台的发展,我们需要不断追求新的可能性。我们致力于未来的基线兼容性(并包含在与 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 核心团队的关键成员)的领导下继续蓬勃发展。
我们希望继续保持这种友好合作的态度。虽然自己建造东西或自己保留它们可能是“成功”,但我没有时间进行零和游戏。如果我们共同构建,无论是作为框架还是作为网络社区,我们都会走得更远。
同样,我们的核心价值观之一是平台独立性(以及深度平台集成)。我们在部署、测试、故事、KV 和缓存、数据库、图像 CDN 和字体主机方面支持 90 多个提供商。这种广泛的生态系统能够带来丰厚的回报,并让人们能够根据其带来的价值来选择他们使用的提供商。但这也意味着我们依赖于我们的社区,他们使用这些不同的提供商来帮助我们保持这些集成的最新状态。
Nuxt 不会去任何地方,但我们希望我们合作所做的工作能够在我们超越的时候持续下去。
一个热情的社区
尽管关注技术卓越或开发人员体验质量很容易,但看到 Nuxt 生态系统作为一个热情友好的社区的持续发展,我更受鼓舞。
我非常感谢我们社区 Discord、Twitter 和 GitHub 上普遍存在的友善语气。
Nuxt 4 怎么样?
JavaScript 领域以每周产生一个新框架而闻名,这意味着存在一个自然的炒作周期。
但我们的目的并不是为了炒作 Nuxt 的持续开发,这也是我们致力于定期发布周期的部分原因:
- 每年都会发布主要框架
- 每月左右发布一次小版本
- 大约每周都会发布补丁
您可以期待在主要版本中看到重大更改,并在次要版本中提供功能。这意味着我们不会保留 Nuxt 4 的功能;我们将在每 6 周的次要发布周期中尽可能定期地发布这些内容。
我们的目标是,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 社区的每个人一起做这件事是一种荣幸时,我代表整个团队! ❤️