发布·  

Nuxt:展望未来

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

Daniel Roe

@danielroe.dev

Sébastien Chopin

Sébastien Chopin

@atinux

2023 年回顾 - Sébastien

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

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

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

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

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 平台发展而出现的新可能性。我们已承诺基线兼容性向前发展(并参与了与W3C WebDX 社区组).

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

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

我希望这将使我们能够在不牺牲稳定性和可维护性的前提下,继续创新和尝试新功能。

特别是,请关注以下活跃开发

可持续的开源

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

我很高兴看到基于 Nuxt 成功的企业以及围绕 Nuxt 出现的项目成为赞助商或以其他方式回馈核心框架,从而实现 Nuxt 的持续发展。

显然,NuxtLabs是其中最杰出的例子。Pooya Parsa, Anthony Fu我和大家都能全职从事开源工作,这得益于他们围绕 Nuxt 提供的付费服务Nuxt UI ProNuxt 专家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 成为一个进行深思熟虑的破坏性更改的机会,这些更改要么具有简单的迁移路径(最好是自动化过程),要么能够选择恢复到以前的行为。

作为团队,我们确实从 Nuxt 2 到 3 的过渡中学到了一些教训,我认为 Nuxt 4 是一个机会,让我们证明主要版本可以为用户带来良好的体验。

您可以通过浏览我们的路线图或查看我们标记为 v4 的问题来预览我们计划的更改。一如既往地欢迎您的反馈和建议!

时间表

我们的 Nuxt 4 路线图有点复杂,因为我们还计划在整个 UnJS 生态系统进行主要版本发布。

大致来说,我们计划在 Nuxt v3 和 Nitro v2 发布一个次要版本之后,开始在 UnJS 生态系统软件包中进行一系列主要版本发布- 最终推出 Nuxt v4。

我们计划在6 月 14 日或之前发布 Nuxt v4(当然,这取决于 Nitro 的主要版本发布后是否有足够的时间在社区进行充分测试,所以请注意这并非确切日期)。

持续支持

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

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


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

Daniel (代表整个 Nuxt 团队)