Deno 2020回顾:API 稳定、1.0发布、重构大型基础设施
The following article is from FOSS Lab Author 局长
Deno 作者 Ryan Dahl 和另一名核心开发者 Bartek Iwańczuk 发表博客回顾了 Deno 的 2020,其中主要的事件包括:API 稳定、对多项大型基础设施进行重构以及发布 1.0 正式版等。
Deno 是作者 Ryan Dahl 在 Node 之后的又一大作,它是基于 V8 引擎的运行时,用于在 Web 浏览器之外执行 JavaScript 和 TypeScript,其采用 Rust 编写而成(最初用的是 Golang)。
Deno 从诞生到发布 1.0 正式版刚好经历了两年,下面是对它在 2020 的主要回顾。
Ryan 表示 Deno 团队花了很大的精力来添加对 V8 调试器的支持,以及实现使用 Chrome Devtools 连接到 Deno 进程的功能。与此同时,CLI 也增加了两个子命令:
deno doc
deno upgrade
在此期间,构建过程也有了巨大的改进。Ryan 表示,到目前为止,Deno 每次都是从源码构建 V8。V8 是一个非常庞大的项目,Deno 团队能做到将构建时间控制在 30 分钟。
为了给发布 1.0 做准备,Deno 团队对全局的 API 进行了审查,因此出现了许多破坏性变化。出于保守考虑,所有未稳定的 API 都被加上了--unstable
flag。同时团队承诺标记了稳定状态的 Deno API 在 2.0 发布前都不会发生破坏性变化。
与此同时,Deno 发布了最后一个 0.x.y 版本。
在 Ryan 发表“我为 Node.js 感到后悔的十件事”演讲的两年后,2020年5月13日 Deno 1.0 正式版终于发布了。
Deno 试图提供一个独立的工具来快速编写复杂功能的脚本,它将始终是单个可执行文件。就像 Web 浏览器一样,它知道如何获取外部代码。在 Deno 中,单个文件可以定义任意复杂的行为,而无需任何其它工具。
在此过程中,Deno 团队决定将内部运行时的编程语言从 TypeScript 转换为JavaScript。Ryan 表示这是一个艰难的决定,但为了优化复杂而又缓慢的构建过程,他最后还是同意了此方案。
Deno 宣称发布包含上述特性的新版本时,这是自 1.0 以来最大的功能版本。自此,Deno 发布计划从每月的次要版本更改为每六周发布一次新的次要版本,与 Rust 和 Chrome 项目的节奏一致。
2020年最后一个月,Deno 发布的 1.6 增加了两项具有里程碑意义的功能:独立的二进制文件和语言服务器,并实现了deno compile
这是用户最需要的一项功能。
Deno 提供内置的语言服务器可以为所有能够使用 LSP 协议的编辑器提供良好的开发体验。VS Code 也因此进行了第三次改造,目前仍在进行中。
2021
Deno 团队目前暂定的计划如下:
Q1 Roadmap
添加新的语言服务器功能来优化对 IDE 的支持
使用 Web Platform Test suite 确保 Web 兼容性
详情查看:https://deno.land/posts/deno-in-2020
2021-01-19
2021-01-18
2021-01-17