Deno vs. Node:详细比较

672 阅读4分钟

什么是Deno?

Deno是一种构成工人端JavaScript的原始方法。它解决了Node的许多问题。它和Node是由同一个人创建的。它在引擎盖下使用V8 JavaScript引擎,但运行时的其他部分是用Rust和Typescript实现的。

Deno利用Rust的原因是什么?

Deno可能是Chrome V8上一个安全的TypeScript运行时。它最初是用Go编写的,现在已经用Rust进行了改造,以远离潜在的垃圾收集器问题。Deno就像Node js,但却以安全为中心。Deno所做的理由是JavaScript。比起有一个从头到尾了解你的东西的竞争者来说,Deno的制作明确是为了修复Dahl看到的由于NodeJs的关键弱点--包括安全问题、使用集中式仓库系统(npm)和沉重的工具化。

使用Deno的优势

  1. 它使用ES6模块指南/
  2. 它与Deno的Typescript兼容:没有令人信服的理由为你重新排列和样式Typescript,它只是开箱即用。
  3. 它是隐性的 Rust可能是一种爆炸性的快速编程语言,使个人能够构建坚实而富有成效的软件。
  4. 它有很好的内置安全性。

什么是Node?

Node.js是一个开源的,在Chrome的V8上的JavaScript运行环境,允许你毫不费力地开发快速和可扩展的Web应用程序。它采用了一种场合驱动、无阻碍的I/O模型,使其轻巧、熟练,并对满足普通小工具的信息集中的持续应用具有极佳的效果。

Node js可以影响众多的同时请求。这往往是最基本的解释;它立即在设计师和大规模组织中被记录下来。Node可以影响无数的同时请求,而不会给开发者带来压力。它是所有编程语言中运行时间最快的,由于普遍的语言和许多程序的帮助和支持。从各方面来看,Node在前端领域的前景似乎很好,因为在进一步通知之前,没有Node的前端改进是无法想象的。

安全性。

Deno认真对待安全问题,并把它放在首位。与Node相比,它在一个沙盒中执行代码,所以默认情况下,我们的程序不能访问文件系统、网络、环境、变量和其他脚本的执行。如果我们想使用这些资源,就必须在运行脚本的时候请求权限或使用相应的安全标志。

类型脚本。

Typecript编译器已经默认植入Deno,你所要做的就是用Dot T作为扩展名来命名你的文件,你就可以在你的代码中使用typescript。在这之后,你需要进行任何确认或安装。另一方面,在Node中,你必须安装一个typecript更新包.json,添加一个TS配置文件,同时确保你的模块有类型支持。

浏览器API。

与Node不同,Deno可以访问浏览器API,这意味着你可以使用浏览器API中的任何东西,而无需安装任何额外的包。例如,你可以使用 fetch out of the box。而在Node中,你必须安装Node fetch包。你可以原生地访问窗口目标,导致更干净和更少的包装端口。

ES模块。

Deno完全支持ES模块,所以我们可以使用导入,就像你在react中使用它一样。例如,ES模块比require有两个主要的优势,即节点导入依赖关系的方式是同步加载资源,而import是同步的,这更具有性能,而且通过import,你可以只加载你需要的包,节省内存。

去中心化的包。

使用Deno,你可以忘记NPM包和大尺寸的Node模块文件夹。包是由URL导入的,并在加载时缓存到硬盘中。这意味着导入的依赖被缓存起来,如果你要在其他地方使用它,就不必再下载它了。

值得称赞的测试。

Deno有一个内置的测试运行器,我们可以用它来测试我们的JavaScript或typecript代码。如果你对Just或Jasmine等流行的JavaScript测试库很熟悉的话,也可以用同样的文字。

作者简介

Sidharth Jain,Graffersid的创始人,总部位于印度的网络和移动应用开发公司,他对此感到自豪。Graffersid拥有一支由设计师和专门的远程开发人员组成的团队。聘请react js开发人员,受到YC、哈佛、谷歌孵化器、BluChilli等创业公司的信任。他了解如何使用技术来解决问题,并将他的知识贡献给领先的博客网站。