当前位置: 首页 > news >正文

硬刚 Next.js!尤雨溪隆重推出 Void,Vite 生态终于有自己的“Vercel“了

近日,尤雨溪在 X 上正式宣布了一个新项目:Void。消息一出,推文 17 个小时内就拿下了 3779 个赞和 59 万次浏览,前端圈炸开了锅。

一句话概括:这是一个专为 Vite 打造的部署平台,外加一套全栈后端 SDK。目标很明确,让所有基于 Vite 的应用都能拥有和 Next.js + Vercel 一样丝滑的全栈开发和部署体验。

为什么要做 Void?

熟悉前端生态的朋友应该清楚,Vite 虽然在开发体验上已经"一统江湖",React、Vue、Svelte、Solid 四大框架全部拥抱了 Vite 作为构建工具。但有一个尴尬的现实:部署和全栈能力,Vite 生态一直缺一个"官方答案"。

反观 Next.js 这边,Vercel 从开发、构建到部署形成了一条龙服务。数据库、KV 存储、边缘函数、ISR、中间件,全部开箱即用。这种"框架 + 平台"深度绑定的模式,让开发者几乎不需要操心基础设施。

Vite 生态呢?框架用 Vite,部署去找 Cloudflare、Netlify 或者自己搭服务器,数据库再接第三方,认证又是另一个服务。体验是碎片化的。

Void 要做的,就是把这些碎片拼起来。

Void 到底提供了什么?

从官网和尤雨溪的推文来看,Void 的核心能力包括以下几个方面:

全栈 SDK

Void 不只是一个部署平台,它还提供了一套后端 SDK。数据库、KV 存储、对象存储、AI 推理、用户认证、任务队列、定时任务,全部内置。开发者不需要自己拼凑各种第三方服务,一个 SDK 搞定。

基础设施自动配置

这个设计很有意思。Void 会自动扫描你的源代码,检测你用了哪些资源,然后自动配置对应的基础设施。不需要写配置文件,不需要去控制台点按钮。用了数据库?部署时自动帮你建好。用了队列?一样自动搞定。

端到端类型安全

从前端到后端,全链路 TypeScript 类型安全。这对 DX(开发者体验)来说是个大加分。

多框架支持

React、Vue、Svelte、Solid,只要是基于 Vite 的元框架都能用。SSR、SSG、ISR、Islands 架构、Markdown,主流的渲染模式一个不落。

AI 原生工具链

这个比较前沿。Void 内置了 AI 相关的 Skills、MCP 协议支持和参考提示词。意思是你可以让 AI Agent 在一个提示下完成从搭建到部署的全过程。

一个关键细节:绑定 Cloudflare

尤雨溪在推文中非常坦诚地说了一件事:

"I want to be very upfront about Void being tightly coupled to Cloudflare. The lock-in is what makes the DX possible."

翻译过来就是:Void 和 Cloudflare 深度绑定,这种锁定是实现优质开发体验的前提。如果你不想被锁定,那 Void 可能不适合你,Vite 本身会永远保持平台无关。你可以选择 Nitro v3、Adonis 或者其他方案。

这个表态很聪明,也很坦率。

从技术角度看,这个选择是有道理的。Cloudflare 的全球边缘网络、Workers 运行时、D1 数据库、R2 对象存储、KV 存储,这些基础设施本身就是业界领先的。把 Void 建在 Cloudflare 之上,意味着开发者可以直接享受到 Cloudflare 的性能和可靠性,而不需要自己去对接。

但"锁定"这个词也确实让一部分开发者不太舒服。毕竟,选择了 Void 就意味着选择了 Cloudflare,未来迁移的成本不会低。这和 Next.js 绑定 Vercel 的争议本质上是一样的。

技术实现:Vite 插件的胜利

尤雨溪还透露了一个有趣的技术细节:

"Void is a plugin that wraps Cloudflare's Vite plugin - which in turn builds on top of Vite Environment API."

Void 本质上是一个 Vite 插件,它包装了 Cloudflare 的 Vite 插件,而 Cloudflare 的插件又是基于 Vite Environment API 构建的。也就是说,Void 并没有修改 Vite 本身的任何东西,而是完全基于 Vite 已有的插件架构来扩展能力。

这说明 Vite 的插件系统和 Environment API 设计得足够灵活,能支撑起这样一个全栈部署平台。同时也意味着,任何以 Vite 插件形式发布的框架都可以和 Void 无缝组合。

这个架构选择非常优雅。

对比 Next.js + Vercel,Void 的差异化在哪?

维度

Next.js + Vercel

Void + Cloudflare

绑定框架

React only

React/Vue/Svelte/Solid

构建工具

Webpack/Turbopack

Vite (Rolldown)

底层基础设施

AWS

Cloudflare

框架耦合度

深度绑定 Next.js

框架无关,基于 Vite 插件

AI 工具链

v0 + AI SDK

内置 MCP + Skills

最大的差异点在于"框架无关"。Vercel 虽然也支持其他框架,但 Next.js 永远是一等公民。而 Void 的设计是框架中立的,只要你的框架基于 Vite,就能用。

这对 Vue、Svelte、Solid 的开发者来说是个利好消息。长期以来,这些框架在全栈部署体验上确实不如 Next.js 顺畅。

尤雨溪的野心:从工具到平台

回顾尤雨溪最近几年的布局,脉络已经非常清晰:

  • Vite统一了前端构建工具

  • Rolldown(已在 Vite 8 中落地)用 Rust 重写了打包引擎,性能暴涨

  • Oxc提供了高性能的 JavaScript 工具链基础设施

  • Vite+刚刚开源,整合了格式化、Lint、类型检查等工具

  • Void补上了最后一块拼图:部署和全栈

从 Vue 框架作者,到 Vite 构建工具作者,再到现在的全栈平台创始人。尤雨溪正在从一个"工具人"变成一个"生态建设者"。他的目标不再只是做一个好用的框架,而是要构建一整套从开发到部署的完整链路。

这和 Vercel 的 Guillermo Rauch 走的路非常相似。不同的是,尤雨溪的基座是 Vite 这个跨框架的构建工具,天然覆盖面更广。

冷静看几个问题

当然,Void 目前还处于早期访问阶段,有几个问题值得关注:

1. 商业模式是什么?

官网目前只有"Join early access"的入口,没有定价信息。Void 背后是 VoidZero 公司,拿了融资,肯定需要商业化。作为部署平台,大概率走的是按量付费的 SaaS 模式,但具体细节还不清楚。

2. 和 Cloudflare 的关系到底有多深?

之前 Cloudflare 收购了 Astro,现在又和 Void 深度绑定。Cloudflare 在前端生态的布局越来越激进。Void 和 Cloudflare 之间是合作关系还是更深层的绑定?这会影响 Void 的独立性。

3. 生态成熟度

Next.js + Vercel 经过多年积累,文档、社区、最佳实践都很成熟。Void 作为新入局者,需要时间来证明自己。文档还没有公开,这本身就说明还在打磨阶段。

4. 开发者的选择焦虑

Vite 生态的部署方案已经不少了:Cloudflare Pages、Netlify、Railway,再加上各种 Nitro 适配器。Void 的出现会不会让选择更复杂?


Void 的发布标志着前端生态竞争进入了一个新阶段。过去是框架之争(React vs Vue vs Svelte),后来是构建工具之争(Webpack vs Vite),现在是平台之争(Vercel vs Void vs Cloudflare)。

尤雨溪选择了一个很聪明的切入点:不跟 Next.js 在框架层面硬刚,而是在平台层面为整个 Vite 生态补上短板。这意味着 Vue、Svelte、Solid 的开发者第一次有了一个专门为他们优化的全栈部署平台。

当然,能不能真正撼动 Vercel 的地位,还得看 Void 正式上线后的实际体验。毕竟,开发者用脚投票,好不好用才是硬道理。

目前 Void 还在早期访问阶段,感兴趣的可以去 void.cloud 提交申请。

一场属于 Vite 生态的"全栈战争",正式打响了。

热点推荐

  • Fastify 作者怒了:AI 老是写烂代码!他把多年 Node.js 经验打包成 Skill 全开源了

  • 规格驱动翻车了?Augment Code 一篇长文直接开怼!

  • React 被反超的那一刻,我看到了开源世界最大的泡沫

  • Node.js 终于能打包成 exe 了!华人工程师连下两城,尤雨溪实测:启动速度碾压 Bun

  • Cursor 内部 35% 的 PR 已由 AI 自主完成,你的工作方式落后了吗?

  • Docker 亲自下场了:把 OpenClaw 关进沙盒,你的 API 密钥再也不会"裸奔"了

http://www.jsqmd.com/news/498958/

相关文章:

  • 基于改进自适应蚁群算法(MAACO)的移动机器人路径规划算法:二维障碍环境+非均匀初始信息素分布研究(Matlab代码实现)
  • 反向传播的理论知识(链式法则)
  • 3个维度探索GitHub加速计划/android4/android:定制化Android开发实战指南
  • 基于小波纹理特征的图像检索附Matlab代码
  • 【无标基于 Python 批量提取 PDF 财务报表指定字段数值题】
  • 这个用AI开剧本杀的团队,把闲置电影院变成了“游戏地图”
  • android开发字号设置最佳实践
  • iii统一后端执行引擎入门指南:如何用三大原语重构你的后端架构
  • 2022.6-2026.3地级市“低空经济”百度搜索指数
  • mPLUG-Owl3-2B真实部署效果:RTX4060上1.8s完成图片理解+文本生成
  • 基于BP神经网络的发动机万有特性图的绘制附Matlab代码
  • 【2026年最新600套毕设项目分享】基于springboot的查勤管理系统(14180)
  • OpenClaw 与 IronClaw:安全 AI 代理之战
  • GLM-4-9B-Chat-1M参数详解:--enforce-eager、--kv-cache-dtype与量化部署选项
  • 如何用3个顶级AI模型将模糊照片秒变高清:免费开源图像超分辨率终极指南
  • Flux Sea Studio 环境部署排错指南:解决403 Forbidden等常见网络问题
  • 基于PHP的智能起名系统源码开发(附代码):八字五行评分模型与声韵协调性检测实现
  • python中的io流
  • 通义千问2.5-7B对比测试:与同类7B模型效果实测对比
  • Linux系统的基本指令
  • SEER‘S EYE 预言家之眼性能优化:利用ComfyUI可视化工作流编排推理流程
  • YOLOv12模型导出实战:TensorRT Engine转换完整教程
  • 链表和数组到底如何选用?
  • 6ES7407-0KA01-0AA0西门子电源模块
  • 奶爸建站笔记
  • 基于SpringBoot+Vue的高校就业招聘系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】
  • 1990–2024年各省外商直接投资水平
  • Java 入门必学:final、单例、枚举、抽象类、接口
  • 乙巳马年春联生成终端开发者案例:接入微信公众号菜单快捷入口
  • 【OpenClaw 全面解析:从零到精通】第003篇:OpenClaw 技术依赖与生态栈详解