腾讯亿级用户规模自研业务的上云实践解读,立即报名 了解详情
写点什么

Node.js 替代品 Deno 加入 TC39

  • 2021-12-15
  • 本文字数:1082 字

    阅读完需:约 4 分钟

Node.js 替代品 Deno 加入 TC39

2021 年 12 月 13 日, Deno 公司网站上的一篇博客文章中,工程师 Luca Casonato 宣布目前 Deno 已经加入 ECMA International。

 

此后,Deno 将在 TC39 工作组中与其他 ECMA 成员和更广泛的 JS 社区合作,讨论 JavaScript 的下一次迭代,推动语言的功能和改进,使所有人受益,尤其是服务器端 JavaScript 的开发者用户。

 

Deno 加入 TC39 的规划

 

Ecma International 是个行业标准组织,,它所通过的标准都是 ECMA-nnn 这样进行编号。

 

TC 39 是 ECMA 国际组织第 39 号技术委员会( Technical Committee ),它是一个推动 JavaScript 发展的委员会,是 ECMA 的一部分。

 

目前 Deno 关于 JavaScript 开发的一些目标功能:

 

  • 更好地支持 ES 模块图中的非 JS 资产

  • 更好地支持显式资源管理

  • 用于(异步)迭代的更广泛的标准库函数

 

由于 TypeScript 是 Deno 生态系统的核心部分,Deno 正在计划推动 TypeScript 和 JavaScript 更紧密地结合。Luca Casonato 将成为 Deno 在 TC39 的主要代表,与 TC39 的其他成员一起将 JavaScript 推向新的高度。

 

关于 Deno

 

Deno 是一个基于 V8 构建的安全的 Typescript 运行时,V8 是 Google 的 JavaScript 运行时引擎。Deno 由 Ryan Dahl 在 2017 年创立,需要了解的是 Ryan Dahl 也是 Node.js 的创始人。因此,Deno 的诞生之初其实是为了解决 2009 年首次设计 Node.js 时的一些疏忽。

 

Deno 由以下技术构建:

 

  • Rust(Deno 的核心是用 Rust 编写的,Node 用 C ++编写)

  • Tokio(用 Rust 编写的事件循环)

  • TypeScript(Deno 支持 JavaScript 和开箱即用的 TypeScript)

  • V8(google 在 Chrome 和 Node 等中使用的 JavaScript 运行时)

 

目前最新版本为 Deno 1.16,其中包含以下功能和更改:

 

  • fetch  现在支持获取文件 URL;

  • V8 更新至 9.7 版;

  • 支持 React 17 中的新 JSX 转换;

  • 新的 Deno.addSignalListener API,用于侦听操作系统信号;

  • Error.cause 现在显示在控制台中,这对于调试发生在应用程序内部深处的错误非常有用;

  • 现在可以明确地完成握手 TLS 连接,此版本向 Deno.TlsConn 中增加了 handshake()方法;

  • Web Streams API 的改进

  • Deno 1.16 稳定了 Deno.startTls API,这使得为稳定的 Deno 编写 SMTP 驱动程序成为可能;

  • Per-test 权限现在是稳定的,这使得测试程序在不同权限集下的行为变得非常容易;

  • localStorage 不再需要附带 -location;

  • 支持在中止 AbortSignal 时指定原因;

  • Deno to npm 包构建工具:发布了一个名为 dnt 的新系统,用于把 Deno 编写的模块发布为 npm 包;

  • WebAssembly Reference 类型现在稳定可用;

  • findLast 和 findLastIndex 数组方法。

 

参考链接:https://deno.com/blog/deno-joins-tc39

2021-12-15 17:034636

评论

发布
暂无评论
发现更多内容

《面试补习》- Java集合知识梳理

九灵

Java 面试 集合

区块链:从根儿上解决2%的人拥有80%的财富全球社会问题

CECBC

Java的多线程和高并发详解

北游学Java

Java 多线程

卢卡开专栏了

卢卡多多

数据库 MySQL 高可用 6月日更

中层管理者的工作五步法

石云升

读书笔记 职场经验 管理经验 6月日更

【源码系列】Spring 过滤器和拦截器

Alex🐒

spring 源码 Spring Framework

SQL 居然还能在 Apache ShardingSphere 上实现这些功能?

SphereEx

在线图片转base64工具

入门小站

工具

并发王者课-铂金05:致胜良器-无处不在的“阻塞队列”究竟是何面目

MetaThoughts

Java 多线程 并发 并发王者课

Rust从0到1-函数式编程-性能比较

rust 函数式编程 Performance 性能比较

Camtasia实用技巧之视频剪辑

淋雨

视频剪辑 Camtasia 录屏软件

智能技术与生物技术共同绘就生命“藏宝图”,对你我意味着什么?

脑极体

漏洞都有哪些分类

网络安全学海

网络安全 信息安全 渗透测试 漏洞 漏洞分析

聊聊知乎订单系统迁移

知一

监控 软件开发 系统架构 重构 订单系统

Linux之head命令

入门小站

Linux

华为云原生媒体网络,升级传统,赋能未来

华为云开发者联盟

云原生 直播 TechWave 媒体网络 云视频

5分钟速读之Rust权威指南(三十三)Send&Sync

码生笔谈

rust

推荐系统之数据与特征工程(二十三)

数据与智能

数据 推荐系统 技术特征

2021,云原生避坑经验分享|CIC 阵容官宣

青云技术社区

容器 云原生

【LeetCode】传递信息Java题解

Albert

算法 LeetCode 7月日更

13万张表+数亿行代码,迁移只需数小时,还是异构数据库

华为云开发者联盟

数据库迁移 DRS 华为云数据库 异构数据库 华为云UGO

网络攻防学习笔记 Day60

穿过生命散发芬芳

网络攻防 6月日更

vue keep-alive(1):vue router如何保证页面回退页面不刷新?

zhoulujun

Vue vue-router keep-alive 页面缓存

开源商业化:满足各方底层需求

茶陵後

开源 开源社区 开源文化

智能运维(AIOps)系列之一:个人对智能运维的理解

micklongen

AIOPS 智能运维

vue keep-alive(2):剖析keep-alive的实现原理—学习笔记整理

zhoulujun

Vue vue源码解读 keep-alive实现原理

【Flutter 专题】129 图解 ToggleButtons 按钮切换容器组

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

我们常说的算法时间复杂度和空间复杂度到底是什么?

编程三昧

编程 算法复杂度

如何做好IT项目管理?

万事ONES

IT 项目经理 项目管理工具

如何实施 SCRUM ?

万事ONES

项目管理 Scrum 敏捷开发 看板 ONES

视频 QoE 的平衡之道—揭秘网易云信 NERTC 视频质量控制系统

网易云信

视频 Qoe

Node.js 替代品 Deno 加入 TC39_前端_闫园园_InfoQ精选文章