这篇博客对比了当前流行的三大 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 粉 :),无伤大雅,他的对比有收获就行。你有什么想法,也可以留言参与讨论。
另外Node有一点很好的是会提供各个环境下编译好的二进制文件。这对于我司去部署升级一些架构不统一的无网络外场设备十分方便,不用费时搭环境编译。这点Deno和Bun值得跟进。