Deno 是什么?
· 阅读需 10 分钟
十个 Node.js 的设计错误
Node.js 最初设计者 Ryan Dahl 2018 年在 JS Conf Berlin 的分享
沒有坚持使用 Promise
-
在 2009 年六月在 Node 中开始引入 JavaScript 的 Promises,但又在 2010年二月就移除掉了。
结果,随着日子久远,Node 里面就遍布着 async/await 和 promise 的不同 async API 设计,直至现时都极难整合
看轻了安全性(Security)
- JavaScript Engine V8 本身有很好的 sandbox 架构,但是有时候 Node.js 本身没有好好善用到,例如有可以直接读取 Memory 的 例子、或者 linter 可以直接使用网络功能等的漏洞。
没有从 GYP 建构系统转到 GN
-
Node.js 用到的 JavaScript Engine V8 一开始是使用 GYP 来建构的,Node 理所当然也跟随;后来 V8 转用了 GN (Generate Ninja),只剩下Node 成为唯一的用家。 GN 比用 Python 写的 GYP 快近起码 20倍,对于使用者来说,简直是天渊之别。
Ryan 更这样说:
继续使用 GYP 该是Node 核心的最大失误。
The continued usage of GYP is the probably largest failure of Node core.