Deno是 Node.js 原作者 Ryan Dahl 重新思考服务器端 JavaScript 运行时的产物,旨在解决 Node.js 中存在的遗憾和挑战。
Node.js 是迄今为止使用最广泛的服务器端和命令行 JavaScript 运行时。随着它的广泛普及,如果不做出重大的兼容性变更,Node.js 可能带来的变化将非常有限。
几年前,Dahl 在离开 Node.js 和 JavaScript 之后,由于对机器学习的兴趣日益增加,又回到了 JavaScript 生态系统。2009 年,在 JSConf.eu 上初次宣布 Node.js 之后,Dahl 又回到了今年的 JSConf.eu 上,他表达了 Node.js 存在的遗憾,并介绍了 Deno——尝试解决 Node.js 问题的早期方案。
Dahl 对 Node.js 的几个重要方面感到遗憾,包括不提供异步模式、Node.js 的整体安全架构、内部构建系统、包管理以及模块处理。
尽管 Node.js 大获成功,并且非常受欢迎,但这些批评始终如影随形。很多早期的努力试图将一些替代方案纳入 Node.js,但都遭到了来自核心 Node.js 团队的阻力。由于 Promise 和模块被引入到语言标中,所以它们在 Node.js 中也发生了变化,但即使到了今天,Node.js 内部也未能充分利用它们的全部功能。
Deno 提供了一个安全的 V8 运行时引擎,以 TypeScript 为基础,提高了代码的准确性,并将编译器内置到 Deno 可执行文件中。
Deno 致力于更好地利用 JavaScript 安全沙箱,以及简化模块和构建系统。
Dahl 的批评者还指出,Dahl 在演讲中没有提到 Node.js 的其他一些问题,人们担心历史会重演。例如,Dahl 将 Node.js 的原始版权给了 Joyent,这导致了之前的冲突以及昙花一现的IO.js。IO.js 的 fork 问题通过 Node.js 基金会和当前的项目治理模型得到了解决。目前,Deno 版权属于 Ryan Dahl。
Deno 初步定位为 Node.js 的替代品,但还不成熟,也不稳定,所以也还没有繁荣的生态系统。Deno 是基于 MIT 许可的开源软件,可以通过Deno GitHub项目进行贡献和反馈。
英文原文:https://www.infoq.com/news/2018/12/deno-v8-typescript
评论 1 条评论