JavaScript运行时战争的终结

2026年10月15日,JavaScript运行时的竞争格局正式尘埃落定。这一历史性时刻的标志是Ryan Dahl——这位将JavaScript引入服务器端并为此奋斗了十年的创始人,宣布其公司Deno被Cloudflare收购。从表面看,这似乎是一次典型的硅谷并购案:创始人表达对未来的兴奋,公司强调使命的一致性,而员工则在残酷的现实面前重新定义职业路径。然而,深入分析会发现一个悖论:一家拥有自有运行时的部署平台公司(Cloudflare),为何要收购一个表现较差的竞争对手? 这一反常举动背后,隐藏着Deno在技术演进和市场定位上的深层危机。视频旨在揭示Cloudflare真正看中的资产、Ryan Dahl为何认为重新实现Node是一个错误,以及Deno在被收购后的真实前景。结论并不乐观:随着主要竞争对手的相继易主,JavaScript生态的主导权已发生根本性转移。

Deno的起源与早期辉煌

回顾历史,2009年Ryan Dahl在JS Conf EU上发布了Node.js,开启了服务器端JavaScript的时代。然而九年后,他在同一舞台发表了题为《10 Things I Regret About Node》的演讲,彻底批判了Node.js的设计缺陷。为了弥补这些遗憾,他从头开始重建了一个新的运行时——Deno。与Node不同,Deno在诞生之初就内置了格式化器、linter和测试运行器。它原生支持TypeScript,默认采用安全模型,并提供了更合理的包管理方式。2020年Deno 1.0正式发布,随后在2021年推出了Serverless平台Deno Deploy,并获得了500万美元的种子轮融资。初期势头强劲:Netlify和Supabase在其边缘函数上构建了基于Deno的服务,Slack也利用它来驱动新的应用平台。 这一阶段被视为JavaScript后端未来的有力竞争者。

融资高峰与产品扩张

2022年,Deno迎来了其发展的巅峰时刻。公司获得了由红杉资本(Sequoia)领投的2100万美元A轮融资。同年,Deno推出了Web框架Fresh,并展现出成为服务器端JavaScript未来标准的潜力。然而,这种势头并未持续太久。Deno面临的最大挑战并非来自外部竞争者的忽视,而是Node.js自身的快速进化。 在Deno试图建立差异化优势的几年里,Node并没有停滞不前。相反,Node添加了fetch API、权限模型以及直接运行TypeScript文件的能力。这些原生功能的加入,使得Deno曾经引以为傲的技术优势逐渐消失。正如视频所指出的:“Deno失去了它的边缘(edge)。” 与此同时,旨在产生收入的产品线未能获得足够的市场 traction来支撑其估值。

产品停滞与战略失误

随着竞争的加剧,Deno的产品路线图出现了明显的停滞迹象。Deno Deploy的区域数量从35个锐减至6个,显示出其全球部署能力的收缩。2023年推出的Deno KV数据库服务至今仍处于Beta阶段,从未正式推出。Fresh框架的发布间隔长达数月,显示出开发活力的下降。与此同时,Ryan Dahl卷入了一场与Oracle关于JavaScript商标的法律斗争。“这是一项高尚的事业(noble cause),但为律师筹款可能并不是红杉资本在开出2100万美元支票时所期望看到的。” 这种法律纠纷不仅消耗了资源,也影响了投资者的信心。到了去年,开发者David Bushell发表博客文章宣称Deno已基本死亡,因为每一次新版本发布都只是在修补Node的兼容性缺陷,陷入无尽的追赶游戏。 讽刺的是,Ryan Dahl最终也得出了相同的结论。

Cloudflare Durable Objects的吸引力

面对困境,Deno团队开始探索运行时之外的硬问题,如跨机器计算分布、状态协调和扩展性。他们发现的最佳解决方案是Cloudflare的Durable Objects。如果不熟悉这一概念,可以将其理解为:每个实例都是独立的单线程服务器,拥有私有的SQLite数据库和维持WebSocket连接的能力。 然而,Durable Objects的一个显著限制是它们主要只能在Cloudflare的生态系统中运行。为了解决这一锁定问题,Deno团队在8月份发布了名为Cell D的开源版本。这是一个关键转折点:“当Deno团队解决这个问题时,Cloudflare做出了任何一家市值1230亿美元的公司都会做的事——直接买下整个公司。” Cloudflare甚至承认,其Workers运行器的创建者曾尝试自行构建可自托管的版本但失败了。

收购后的整合与未来规划

根据公告,Cloudflare计划让Ryan Dahl和联合创始人Bert Belder将Cell D合并到Cloudflare的开源Workers运行时中。这一举措旨在让任何人都能在自己的服务器上运行Workers和Durable Objects,并获得Cloudflare的官方支持。 关于未来重点,Ryan表示“大焦点是AI代理(AI agents)”,因为Durable Objects天然适合需要廉价计算、持久状态和实时连接的代理应用。然而,对于现有的Deno用户而言,前景并不明朗。Cloudflare明确表示只会在接下来的一年内继续为Deno提供错误修复和安全补丁,之后将完全停止开发。 对于当前使用Deno Deploy的用户来说,迁移窗口期仅剩6个月。这意味着除了Cell D之外的所有Deno产品都将面临终结。

市场格局的最终定型

此次收购标志着JavaScript运行时生态的彻底重组。此前,Anthropic已经收购了Bun;而在2026年6月,Cloudflare还收购了Vercel。如今,“唯一不被云公司拥有主要JavaScript运行时的是Node.js”——这正是Ryan Dahl过去八年试图取代的对象。这一结果具有强烈的讽刺意味:Deno的失败并非因为技术落后,而是因为其核心创新点被Node.js吸收,而其新的战略方向(Durable Objects)则成为了Cloudflare的资产。 对于需要迁移的开发人员来说,这一过程将充满挑战。视频最后提到了赞助商JetBrains提供的解决方案,利用其内置的Juni Light模型帮助开发者处理重构任务,但这无法改变Deno作为独立运行时时代已经结束的事实。

结论

这条内容最终说明了JavaScript服务器端运行时的竞争已经通过市场并购而非技术迭代的方式结束。Node.js凭借其庞大的生态系统和持续的功能更新,成功抵御了Deno的挑战并保持了独立地位。而Deno的收购案揭示了一个残酷的现实:当开源项目的核心差异化优势被主流平台吸收,且其新的战略方向依赖于特定云厂商的基础设施时,独立生存变得极其困难。 Cloudflare收购Deno并非为了延续其运行时品牌,而是为了获取Cell D这一能解锁Cloudflare基础设施潜力的关键技术。对于开发者而言,这意味着Deno作为独立生态的时代已终结,迁移至Node.js或其他基于Cloudflare Workers的解决方案成为必然选择。