Deno 终局来了:从挑战 Node 到被 Cloudflare 收编

2026 年 10 月 9 日,Ryan Dahl 在 Deno 官方博客宣布:整个 Deno 团队加入 Cloudflare。

公告写得很直白:

  • Deno 运行时再维护一年,每月只出 bug 修复和安全更新,之后官方停止开发
  • Deno Deploy 六个月后正式关停,付费用户提供迁移到 Cloudflare Workers 的支持
  • JSR 继续运营,基础设施迁至 Cloudflare
  • rusty_v8 继续维护,并计划集成进 workerd

项目本身保持开源,但「独立 Deno」的时代,到此结束。


从「修正 Node」到「被收编」

2018 年,Ryan Dahl 在 JSConf EU 上做了那次著名的演讲《10 Things I Regret About Node.js》,随后推出 Deno。

目标很清晰:安全默认、原生 TypeScript、Web 标准优先、更好的工具链,不再重复 Node 的历史包袱。很多人相信,这次他会把上一次做错的事情全部做对。

Deno 确实把很多事情做对了。权限系统、开箱即用的 TypeScript、标准化的模块系统、内置的测试和格式化工具,都推动了整个生态往更现代的方向走。Node 后来的很多改进,某种程度上也是被 Deno 逼出来的。

但理想和现实之间,总有一道鸿沟。

为了降低迁移成本,Deno 不断补齐 Node 兼容性。最终,它在某种程度上陷入了自己最想逃离的引力井------「再实现一个 Node」。Ryan 自己后来也坦言:继续做独立运行时,解决的问题已经不够大了。

与此同时,商业闭环始终没能真正跑通。Deno Deploy 运营复杂度高、节点收缩,生态粘性不足,让独立运行时越来越难和 Node 正面竞争。


为什么是 Cloudflare?

Ryan 给出的理由很坦诚。

他真正想做的,从来不只是「更好的 JavaScript 运行时」,而是更上层的抽象:计算、存储、通信一体化,让开发者不再自己拼基础设施。

Deno Deploy 是一次尝试,但效果有限。后来团队做了 celld------一套可以自托管 Cloudflare Workers + Durable Objects 的实现。Ryan 认为,这才是真正有价值的方向,尤其是对 AI Agent 场景:便宜、有状态、支持长连接。

于是,选择变得清晰:把精力投入到 Cloudflare 的 Workers 编程模型里,而不是继续维护一个独立的、越来越像 Node 的运行时。

从挑战者,到被收编。这条路,Deno 走了八年。


JS 运行时格局,已经变了

回看这几年:

  • 2025 年底,Bun 被 Anthropic 收购
  • 2026 年 10 月,Deno 被 Cloudflare 收编

曾经最有希望挑战 Node 的两个新运行时,最终都走向了大厂。Node.js 本身依旧稳固,生态、社区、企业采用率都远超对手。

这意味着什么?

  1. 独立 JS 运行时的窗口期,基本关闭了

    没有足够强的商业闭环和流量入口,很难长期和 Node 正面竞争。

  2. 云厂商的编程模型正在成为新主战场

    Cloudflare Workers + Durable Objects、各类边缘运行时,开始定义「服务器该怎么写」。

  3. 「技术正确」不再是最终胜负手

    Deno 做了很多正确的设计,但最终没能跑赢生态和商业现实。

对开发者来说,这是一次很实在的提醒:选型时,除了看当前体验和性能,更要看这个项目的长期维护意愿和商业可持续性。


现有用户该怎么办?

场景 影响 建议
Deno Deploy 项目 六个月后服务下线 优先处理,尽快评估迁移到 Workers
自托管 Deno 运行时 一年后官方不再出新版本 现在开始评估迁移路径
强依赖 Deno 专有 API 迁移成本较高 尽早做兼容性评估
新项目选型 风险上升 现阶段不建议作为长期生产选型

一年强调一点:「开源」不等于「有人继续认真维护」。一年后如果社区没有形成强力维护团队,安全补丁和兼容性问题会逐渐暴露。


写在最后

Deno 从诞生到现在,确实把很多正确的事情做对了。它推动了整个生态往更好的方向走,也让我们重新思考「服务器端 JavaScript 应该长什么样」。

但独立运行时要活下去,光有技术正确不够,还需要足够强的商业闭环和生态粘性。当最终方向收敛到「分布式编程模型」时,加入 Cloudflare 反而可能是更合理的选择------至少对 Ryan 和团队来说是这样。

Deno 的终局来了。

JS 运行时的故事,从此进入了新的阶段:不再是「谁能做得比 Node 更正确」,而是「谁能把计算、状态和分发真正统一起来」。

你怎么看这次收编?

如果你已经在生产环境使用 Deno,现在会如何规划迁移?欢迎在评论区聊聊。

相关推荐
蜗牛互联网1 小时前
Java 17 HttpClient调用文件转写API的超时与失败回退
java·人工智能·后端
Csvn2 小时前
框架性能优化
前端
回眸&啤酒鸭3 小时前
【回眸】OpenSwarm 多智能体协作系统实战指南
大数据·前端·人工智能
用户69371750013843 小时前
2026,程序员的时代拐点到了
android·前端·后端
大龄秃头程序员3 小时前
一次 iBeacon + BLE 无感解锁方案的实现记录
前端
惜鸟4 小时前
从源码看 pi 的上下文管理:原始数据永久保留,模型视角按需裁剪
后端
小兔子4 小时前
Python 的 GIL 与 free-threading:3.13 之后「去 GIL」走到哪一步了
前端
量化分析码农4 小时前
【Python量化策略评估体系 #05】极端行情扛得住吗?2008/2015/2020 三场景压力测试
后端
十年Java程序媛4 小时前
Java 接口和抽象类对比|Java8 新特性,抛弃老旧八股,正确选型
java·spring boot·后端