
https://dev.to/codesphere/bun-the-new-javascript-runtime-competing-with-deno-and-node-115d
在过去的两年时间有大量的关于Deno的讨论,对于Ryan Dahl开发的NodeJS 运行时的继任者是打算解决Node存在的问题。
不过事实上,尽管Deno已经很大程度上稳定了并且解决了Node遇到的问题,但是却没有得到大量的应用,主要的原因是与当前的node modules 不兼容。
Bun的优势是它解决了Deno解决的问题,并且还与当前已有的Node生态兼容,而且与Node和Deno相比,更加的快。
Node存在的问题
尽管在过去的十年,Node得到了广泛的应用,NodeJS也有一些问题。
最大的问题就是Node有难以置信的复杂的NPM和整个模块系统。不仅仅是难以置信的慢和不安全,而且系统的设计与网络技术的典型特征有极大的不同。
另外,Node对于系统有几乎完整的访问权限,这是最大的安全隐患。
除了这些,一些开发者所需要的标准的能力,例如环境变量,https,TS都没有包含在Node里面。
大多数的问题看起来Deno已经解决了,但是代价是整个生态系统。对于大多数的开发者来说,解决这些问题并不值得跳入到一个完整的新的生态系统,这也是为什么没有看到Deno的应用。
Bun是如何解决的
当前Bun还是在它的幼年阶段,看起来它似乎是解决了内置支持和Node运行速度的问题。


Bun实现这些目标并不是通过运行在V8引擎上 ,而是通过利用一种低级语言Zig。
另外对于Node来讲Bun是一个立即可用的解决方案,所以他与整个完整的Node生态系统是兼容的。
Trying out Bun
安装curl https://bun.sh/install | bash
运行bun run index.js
安装NPM包bun install package-name
上面可以看到,CLI命令和Node的几乎一致,这意味着没有学习曲线。
