Deno 1.0 发布
Deno 1.0 发布了。Deno 是作者 Ryan Dahl 在 Node 之后的又一大作,它是一个新的运行时,用于在 Web 浏览器之外执行 JavaScript 和 TypeScript,其采用 Rust 编写而成(最初用的是 Golang)。
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 服务器性能,可以查看:
插件/扩展
Deno 1.0 还带来了一个新生的插件系统,用于通过自定义操作扩展 Deno 运行时。但是,此接口仍在开发中,并已标记为不稳定。
此外,发布公告中还提及 Deno 稳定性与兼容性等内容,还介绍了接下来将会把 TSC 移植到 Rust,最终加速类型检查,提高从 TS 解析到 JS 性能的计划,详情查看:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
BookChatApp v1.5 发布,使用 uni-app 开发书籍阅读 APP
BookChatApp 介绍 BookChatApp,使用uniapp开发的通用的书籍阅读 APP,不但拥有简洁美观的UI视觉呈现,还拥有堪比原生应用的性能体验,支持多端分发编译生成 Android 和 iOS 手机 APP 升级日志 增加显示最近阅读的书籍 移除书架书籍引起的书架空白问题的bug 使用ActionSheet组件优化书架书籍管理方式 增加类似通讯录的分类布局。(修改配置方式) 修复 Android内容阅读亮度调节跳转系统设置的问题(APP请求的手机权限不足的问题造成)(#I1DMRB:阅读亮度还是不能调节) 书架收藏的书籍分类太多时,部分机型会出现分类换行显示,导致下边显示的书籍封面被盖住(#I1DMRC:显示收藏的书籍分类问题) 注意事项与说明 不同版本的HBuilderX开发,可能展现页面效果不一样,甚至可能会错乱。本版本APP,使用HBuilderX v2.6.16 进行开发。 当前v1.5版本建议配套后端程序BookStack v2.8 版本一起使用: https://gitee.com/truthhun/BookStack/releases 相关链接 Book...
- 下一篇
OSCHINA APP v4.9.6 全新设计版本来袭
我们经过一段时间的调研和设计,了解当下比较简洁的 UI 方案,进行了一次激进的改版。 新版大量特性,了解一下: 全新的 APP 主页,全新 Tab、动画,正面去线条设计,极速流畅 全新的动弹列表页面、动弹详情页面,优雅简洁 全新的资讯列表,增加图片显示 全新个人中心设计,高效率排版 全面改进冷启动加载速度,极速秒开 安卓下载:→戳我戳我戳我← 扫码下载↓↓↓
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7设置SWAP分区,小内存服务器的救世主