Deno 1.0 发布

栏目: 软件资讯 · 发布时间: 4年前

内容简介:Deno 1.0 发布了。Deno 是作者 Ryan Dahl 在 Node 之后的又一大作,它是一个新的运行时,用于在 Web 浏览器之外执行 JavaScript 和 TypeScript,其采用 Rust 编写而成(最初用的是 Golang)。 Deno 试图提供一个独...

Deno 1.0 发布了。Deno 是作者 Ryan Dahl 在 Node 之后的又一大作,它是一个新的运行时,用于在 Web 浏览器之外执行 JavaScript 和 TypeScript,其采用 Rust 编写而成(最初用的是 Golang)。

Deno 1.0 发布

Deno 试图提供一个独立的 工具 来快速编写复杂功能的脚本,它将始终是单个可执行文件。就像 Web 浏览器一样,它知道如何获取外部代码。在 Deno 中,单个文件可以定义任意复杂的行为,而无需任何其它工具。

Ryan Dahl 认为过去他在设计 Node 时犯了一些错误,包括安全性、构建系统、package.json、node_modules、index.js 等等,并表示 Node 存在的种种不足导致有许多严重 bug 问题且不可回避,当前 JavaScript 和周围的软件基础架构已经发生了巨大的变化,值得进行简化,于是他重新设计了 Deno 这门脚本语言。

Rust API

今天正式发布的 1.0 版本带来了命令行界面 CLI 1.0。Deno 本身并不是一个单体的程序,而是设计为 Rust crate 的集合,以允许在不同的层进行集成。Deno 中的 Rust crate deno_core 不依赖于 TypeScript 或 Tokio,它只是提供了操作和资源基础架构。也就是说,它提供了一种将 Rust 特性绑定到 JavaScript promise 的有组织方式。CLI 则完全建立在 deno_core 之上。

rusty_v8 crate 提供高质量的 V8 C++ API 的 Rust 绑定。该 API 尝试尽可能与原始 C++ API 匹配,它是零成本的绑定,因为 Rust 中暴露的对象与在 C++ 中操作的对象完全相同。

HTTP 服务器性能

Deno 的 HTTP 服务器是采用 TypeScript 在原生 TCP socket 的顶层实现的,Node 的 HTTP 服务器使用 C 语言编写,并作为对 JavaScript 的高级绑定暴露。一直以来 Deno 拒绝将原生 HTTP 服务器绑定添加进来,因为这还需要优化 TCP socket 层,更常见的是优化 op 接口。

Deno 是一个合适的异步服务器,每秒 25k 请求足以满足大多数目的,此外,由于普遍使用 Promise,Deno 需要有更好的尾部延迟。目前 Deno HTTP 服务器每秒处理约 25 000 个请求,最大延迟为 1.3 毫秒,与之相比,Node 程序每秒处理 34 000 个请求,最大延迟介于 2 到 300 毫秒之间。

这样看来,作者认为 Deno 的 HTTP 服务器还有更多的性能优势,并表示希望在将来的版本中实现这一目标。

具体关于 HTTP 服务器性能,可以查看:

https://deno.land/benchmarks

插件/扩展

Deno 1.0 还带来了一个新生的插件系统,用于通过自定义操作扩展 Deno 运行时。但是,此接口仍在开发中,并已标记为不稳定。

此外,发布公告中还提及 Deno 稳定性、局限性与兼容性等内容,详情查看:

https://deno.land/v1


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

运营其实很简单:互联网运营进阶之道

运营其实很简单:互联网运营进阶之道

郑文博 / 人民邮电出版社 / 2018-2 / 49.80元

为了帮助从事运营或即将从事运营的广大读者更好、更快地了解运营、学习运营、入职运营,本书详细阐述运营对于用户、企业的帮助,同时以单个理论点 单个实战案例的方式详细分析了社群运营、活动运营、新媒体运营、内容运营、渠道运营、精细化运营、场景化运营、用户化运营、商业化运营等模块及运营工作、渠道整合、社群知识、渠道优化、SOP流程等细节,力求让读者在求职路上快速上手,在迷茫途中快速定位。 《运营其实很简单 ......一起来看看 《运营其实很简单:互联网运营进阶之道》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

在线进制转换器
在线进制转换器

各进制数互转换器

SHA 加密
SHA 加密

SHA 加密工具