JS 三大运行时对比:Deno、Bun 和 Node.js


多元共进|2023 Google 开发者大会精彩演讲回顾

这篇博客对比了当前流行的三大 JavaScript 运行时环境:Deno、Bun 和 Node.js。

先直观看一下特性上的比较:

除了表格上这些直观可以对比的特性,作者还列出了一些相关的值得关注的要点:

  • Bun 在一定程度上对 Windows 有作支持。(刚看完另一篇博客,Bun 在 Windows 上很难受:https://alemtuzlak.hashnode.dev/why-i-cant-love-bun)

  • Node 已开始搞权限模型。

  • Node npm list 是有一个外部依赖视图的。

  • Bun 有半内置的 REPL,需要时会进行下载。

  • 所有运行时都在不同程度上提供了 ARM64 支持,其中 Node.js 支持的平台范围最广。

  • 尽管 Deno 缺少传统的内置包管理器,但它可以通过 URL 导入、指定符导入、import_map 和 package.json 实现了自动包安装。

  • 据传 Deno 即将有一次重大更新,可能会带来一些令人兴奋的新特性。

作者还论述了使用便捷性与安全等方面,最后结论比较中肯客观:

  • 如果成熟度、庞大的生态以及社区支持是你最重视的,那么 Node.js 仍然是一个强有力的竞争者。
  • 如果你寻求一个现代化、默认安全性高且开发体验一流并且日益成熟的运行时环境,那么 Deno 就是不二之选。
  • 如果你想要结合 Node.js 和 Deno 的优点,并注重尖端性能以及良好的开发体验,那么 Bun 可能就是你需要的答案。

看完合理怀疑这作者是 Deno 粉 :),无伤大雅,他的对比有收获就行。你有什么想法,也可以留言参与讨论。

博客地址:https://hexagon.56k.guru/posts/deno-vs-bun-vs-node


相關推薦

2023-07-23

近日,新型JavaScript运行时Bun正式发布了0.7版本,带来了重大的升级。据悉,Bun是一个配套齐全的JavaScript解决方案,集运行时、打包器、转译器和包管理器于一体,追求极致的运行速度。此次更新主要集中在与Node.js的兼容性提升

2024-06-22

Lemire 指出,JavaScript 运行时 Bun 在解码 Base64 输入时,比 Node.js 22 快了数倍。尽管两者都依赖于同一个底层库 simdutf 来进行实际解码,但 Node.js 在与其底层 JavaScript 引擎 v8 交互时遇到了瓶颈。 Lemire 详细解释了问题的根源在于 No

2022-08-26

写的 “全家桶” JavaScript 运行时 Bun,性能完爆 Node.js 和 Deno

2022-06-23

Deno 运行时背后的同名开发商 Deno 于昨日宣布,它已完成了由红杉领导的 2100 万美元的 A 轮融资,使其融资总额达到 2600 万美元。Deno 首席执行官 Ryan Dahl 表示,此轮融资将帮助他们用于构建 Deno 的商业产品 —— Deno Deploy,并同

2023-10-23

d Sumner于2023年10月20日发布了1.0.7版本。本次更新实现了对Node.js运行时的多项兼容性改进,并修复了近60个bug。 根据发布说明,本版本对“bun install”命令进行了优化,支持可选的peerDependencies,可以避免安装不必要的依赖包。修

2023-03-24

Deno 是一个简单、现代和安全的 JavaScript 和 TypeScript 的运行时,它使用 V8 并以 Rust 构建。 Deno 1.32 正式发布,值得关注的更新包括: 增强 Node.js 的兼容性 Deno 在提高与 Node.js 的兼容性方面继续取得重大进展,提供了更顺畅的整

2024-04-03

件系统操作进行了深度优化,例如递归读取目录的速度比Node.js快了22倍。 Bun 1.1对Node.js兼容性的改进也非常显著。不仅修复了上千个bug,还新增了大量Node.js API的支持。现在你可以在Bun中使用HTTP/2客户端、递归的fs.readdir()、进程

2023-09-24

在可以在 Bun 中无缝地使用 Nest.js 这样的框架。Nest.js 是 Node.js 生态系统中的一个受欢迎的框架,而 Bun 对其的支持无疑将进一步扩大其在开发者社区中的影响力。 此外,Bun 还引入了对 module.parent 的支持。这是 Node.js 中

2024-01-18

量网络数据的应用来说,无疑是一个巨大的提升。 Node.js兼容性和资源管理 对于Node.js的兼容性,Bun v1.0.23也进行了重要的更新,解决了一些先前版本中存在的问题。例如,现在可以在Bun环境中无缝使用Node.js内置模块,如fs

2023-09-10

如闪电”。这个新生力量是否能撼动Javascript界老牌霸主Node的地位,成为下一代前端开发标准?让我们一睹这个新星的威力。 作为Javascript社区中一个相对较新的革新者,Bun致力于解决碎片化工具过多导致的开发低效问题。它

2023-01-29

Deno 是一个简单、现代和安全的 JavaScript 和 TypeScript 的运行时,它使用 V8 并以 Rust 构建。 Deno 1.30 已发布,值得关注的更新包括: 对内置 Node.js 模块的支持 在 Deno 中,npm 包已经可以通过 Deno 的 Node.js 兼容层访问内置的 Node.js

2023-07-07

2023 年 7 月 5 日,Deno 团队发布了 Deno 1.35 版本。此次更新的目的是使程序开发尽量简单,因此运行时内置强大的工具链、原生 TypeScript 支持和 Web 标准 API,可以跳过配置和学习新 API,并立即开始工作。 此次版本更新带来如下改

2023-11-18

入了多项创新功能和重大改进,以增强用户体验并提高与Node.js的兼容性。 Bun v1.0.12的一个显著新特性是bun -e命令的加入,允许开发者在不创建文件的情况下直接运行脚本。这极大提升了编写和测试小型脚本的便利性和灵活性。

2024-02-05

修复了Error.prepareStackTrace默认未定义的问题,使其行为与Node.js保持一致。 关于测试方面,Bun解决了expect(a).toStrictEqual(b)在比较带有删除属性的对象时的错误处理问题。之前的版本中,这可能会引发一个带有空diff的错误,而现在