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 个已关闭的问题
- 1,728 个已合并的拉取请求
- 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 平台的发展,我们需要不断追求新的可能性。我们已承诺未来将遵循基本兼容性(并参与与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 专家、Nuxt Studio 和NuxtHub(即将推出)。他们还赞助 Vue、Vite、UnJS 和 Nuxt 的社区成员。
对我来说,保持 Nuxt 的独立性和未来可持续性需要一个积极且不断壮大的团队和社区。在接下来的几周内,我将宣布一个更广泛的“Nuxt 团队”,以及核心团队。这是为了认可许多人的辛勤工作,他们的贡献已经使 Nuxt 成为今天的样子。
我还希望看到未来几年有更多团队成员或更广泛的社区获得赞助,在 Nuxt 生态系统中工作。如果你的公司从 Nuxt 中获益,请考虑赞助一些在 Nuxt 上工作的开发者,无论他们是团队成员还是更广泛的社区成员。
友好的协作
从我们开始开发 Nuxt 3 的那一刻起,我们就一直试图提取我们从中受益的实用程序、库甚至框架,以便它们也能惠及更广泛的受众。
这就是UnJS 的起源,它在Pooya Parsa(他也是 Nuxt 核心团队的关键成员)的领导下继续蓬勃发展。
我们希望继续这种友好的合作态度。虽然自己构建东西或将它们保留给自己可能被认为是“成功”,但我没有时间参与零和博弈。如果我们共同构建,我们将走得更远,无论是作为一个框架还是作为一个 Web 社区。
同样,我们的核心价值观之一是平台独立性(以及深度平台集成)。我们支持 90 多家提供商,涵盖部署、测试、故事、KV 和缓存、数据库、图像 CDN 和字体托管。这种广泛的生态系统带来了丰富的回报,并让人们可以根据其提供的价值来选择使用哪些提供商。但它也意味着我们依赖于使用这些不同提供商的社区来帮助我们保持这些集成的最新状态。
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 团队)