[关闭]
@qinyun 2018-05-31T13:17:04.000000Z 字数 1002 阅读 2014

Node之父的新项目deno不兼容Node,你怎么看?

未分类


近日,Node之父Ryan Dahl在GitHub上发布了名为deno的新项目,deno是V8的TypeScript运行时项目。它的特性包括:

在以上特性中,最令人疑惑的就是deno竟然不兼容Node,这不免让人怀疑Ryan Dahl创建deno的目的,有些开发者认为deno的出现是为了取代Node,这是否可信。我们先来看看作者在GitHub Issue回复开发者的几个问题:

deno和Node的区别是什么?

Node可用,Deno尚未投入使用,README文件提供了一些技术细节,但是从更高层面上来说,Deno尽可能简化V8与系统API的耦合,这会让系统更加简单和模块化,而且沙箱更安全。

再者,使用Golang而不是C++作为绑定语言,这样,添加高级功能时会比在Node中更加容易,EG http2.0 支持最多能添加一些路由API和传递一些信息到protobuf文件。

deno项目的目的是什么?

Ryan Dahl称deno诞生的目的是为了创建更简单和安全的非浏览器runtime,它在这个时候出现,是因为现在的开发工具比2009年更好。

所以,我们是不是可以这样理解Ryan Dahl这句话的意思,现在常用的非浏览器runtime主要是Node,但Node目前还不够简洁和安全,随着开发生态不断地发展,Node的一些地方需要进行大改革,如Node包管理器npm,但是又不能把npm砍掉,所以只能重新设计一个新“Node”,再加上deno又不兼容Node,所以我们大胆猜测deno不是为了改进Node,而是为了取代Node。

再者,Node此次支持TypeScript而不是JavaScript,我们知道,TyperScripts兼容JavaScript,对那些原来Node的开发者来说,迁移的成本就不会太高。

链接

https://github.com/ry/deno

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注