Nuxt:展望未来
2023 年回顾 - Sébastien
2023 年 1 月,Daniel 提出了 Nuxt: A vision for 2023。我们实现了我们设定的大部分目标。其中一些目标还未完成,我们将在今年解决它们!
这是一个富有成效的年份,团队发布了 9 个次要版本:从 v3.1 到 v3.9。
在第一个365天内,Nuxt 3 实现了新的里程碑:
- GitHub 上共有 49.5K 颗星星(添加您的 😊)
- npm 上下载量达到 27M 次
- nuxt 仓库上有 612 位贡献者
- 142 位维护者创建了 184 个模块
- 2,423 个已解决问题
- 1,728 个已合并的拉取请求
- Discord 上有 26,300 个成员
在10月底,Nuxt 3 的下载量超过了 Nuxt 2 的下载量 🚀。
同一个月,我们发布了 Nuxt Image 1.0,支持 Nuxt 3,并带来了新功能,确保在使用图像时网站性能良好。Nuxt 现在会在您开始使用 <NuxtImg>
或 <NuxtPicture>
组件时自动安装它。
我们发布了 Nuxt DevTools,提升了我们对 Web 框架的开发者体验。很高兴看到我们的工作启发了其他框架采用类似的方法:Vue DevTools,Next DevTools,Remix DevTools,Vite Plugin DevTools,Astro Dev Toolbar 等等。
经过多个月的内部构建,Benjamin Canac 开源了 Nuxt UI,让您能够使用用 TailwindCSS 构建的高度可定制组件以更快的速度创建网站。
Nuxt Content 发布了 10 个次要版本,带来了各种改进:从性能到 MDC 语法。我们正在进行一些工作,以更好地支持未来的 边缘渲染。与此同时,NuxtLabs 团队正在开发 Nuxt Studio,允许用户使用类似 Notion 的编辑器编辑 Markdown 文件,同时将内容保存在其 git 仓库中。
展望 2024 年 - Daniel
我们已经来到 2024 年,这个更新肯定是过期了的!
以下是我对未来一年我希望引领 Nuxt 发展方向的几点想法。
持续开发和重塑
我希望我们能够继续根据生态系统的不断变化来调整我们的最佳实践,拓展好的开发体验的边界,并改进 Nuxt。
我对我们目前在 Nuxt 上提供的东西感到非常满意。但我绝不希望靠舒适区获得满足感。我们需要继续追求作为网络平台发展的新可能性。我们已经承诺了 基线兼容性 ,并在与 W3C WebDX 社区小组 的讨论中加入了这方面的对话。
我们有一些策略可以让我们在优先确保现有用户稳定性、认识到 Nuxt 生态的范围的同时进行创新。
- 一般来说,我们会遵循这样一种模式,即 引入一个模块或实验性功能,在测试期间可以将其禁用,以便收集反馈意见并确认新功能的方向和 API。
- 我们采用了 ecosystem-ci 模式,以验证 Nuxt 中的代码更改不会意外地破坏下游项目。如果您维护一个经过良好测试的依赖 Nuxt 的模块或库,欢迎向 nuxt/ecosystem-ci 提交 PR 添加您的项目。
- 我们计划发布一个 基于拉取请求的测试,允许您配置 CI 对自身进行测试以针对最新的 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 核心团队的重要成员)。
我们希望继续这种友好合作的态度。虽然自己构建东西或将它们保留给自己可能会带来“成功”,但我对零和游戏没有时间。我们将进一步发展,无论是作为一个框架还是作为一个网络社区,如果我们共同努力。
同样,我们的核心价值观之一是平台独立性(以及深度平台整合)。我们支持90多个供应商,涵盖部署、测试、stories、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 生态系统中进行重大发布。
粗略地说,我们计划在开始进行一系列 UnJS 生态系统的包的重大发布之前,为 Nuxt v3 和 Nitro v2 发布一个次要版本 - 最终达到 Nuxt v4。
我们计划在 2024 年 6 月 14 日或之前发布 Nuxt v4(当然,这取决于 Nitro 的重大发布之后我们有足够的时间在社区中进行充分的测试,所以请知悉这不是一个确切的日期)。
继续支持
在发布 Nuxt v4 后,我们将为 Nuxt v3 提供 六个月 的持续支持和错误修复,我们预计这足够升级到 v4,因为我们希望提供一个平滑的升级路径。
希望您对即将发布的 Nuxt v4 和我们一样兴奋!🎉
最后,非常感谢您对我们构建 Nuxt 的信任和支持。在 Nuxt 社区中与大家一起做这件事,对我们整个团队来说都是如此荣幸!❤️
Daniel(代表整个 Nuxt 团队)