Ryan Dahl的Node.js遗憾地导致了Deno

如果创始人Ryan Dahl可以重新构建它,那么Node.js服务器端JavaScript运行时将是什么样子? 通过他的Deno项目,一个与Node.js建立在相同Google V8 JavaScript引擎上的安全TypeScript运行时,我们有了一个主意。

开源的Deno与Node.js没有明显的兼容性,它是对服务器端JavaScript的最低要求。 Deno和Node之间的一个主要区别是Deno消除了对软件包管理器的需求。 (Node.js使用流行的NPM软件包管理器 。)“甚至没有软件包,” Dahl说。 “您只能链接到JavaScript文件,就像在网络上一样。” Deno也无法运行Node脚本。 它确实使用TypeScript ,Dahl认为它做得很好并且很容易上手 。 达尔最近将Deno描述为处于“极端原型”开发阶段,并告诫除最顽固的技术人员外,其他人请勿尝试。

[了解Node? 不要错过: Node.js教程 : Node.js入门 • 每个Node开发人员必须掌握的10个JavaScript概念。 • Node.js框架的完整指南。 • 构建Node应用程序的7个关键 。 | 通过InfoWorld的App Dev Report新闻通讯了解编程方面的热门话题。 ]

在最近一次关于他对Node.js的遗憾的演讲中,Dahl提到安全性是错过了一个机会,使服务器端运行时在某些情况下是安全的。 使用Deno,有几个安全目标:

  • 利用JavaScript是安全的沙箱这一事实。 默认情况下,脚本应在没有文件系统或网络写访问权限的情况下运行。
  • 选择启用访问通过以下标志启用:-- --allow-net--allow-write
  • 安全功能使用户可以运行诸如linter之类的不受信任的实用程序。
  • 任意本机函数均不应绑定到V8中。
  • 系统调用是通过消息传递完成的
  • 有两个本机功能:send和recv。
  • 启用更轻松的审核。

Deno的二进制文件正在开发中,预计将在几周内完成。 Deno的原型是在Go中构建的,但是Deno正在Rust中重做,以避免Go和V8中的垃圾收集器之间发生潜在冲突。 Deno还具有C接口 。

迪诺的其他目标包括:

  • 仅导入参考源代码URL。 远程代码是在第一次执行时获取并缓存的,直到使用reload标志运行代码后才更新。
  • 只有一个可执行文件。
  • 浏览器兼容性。
  • 用作库来构建JavaScript运行时。
  • 总是死于未捕获的错误。

在考虑如何重新设计服务器端JavaScript系统时,Dahl担心会破坏Node.js社区。 但是他相信Node.js如今已经足够稳定,以至于他的动作不会影响它。

在哪里下载Deno

您可以从GitHub下载Deno代码 。

相关视频:Node.js技巧和窍门

在此讲解视频中,学习一些可以改善Node开发体验的技术。

From: https://www.infoworld.com/article/3283250/ryan-dahls-nodejs-regrets-lead-to-deno.html

你可能感兴趣的:(javascript)