Deno 2.9发布:简化桌面应用开发,性能全面提升

Deno Land发布Deno 2.9运行时更新,新增deno desktop功能,允许开发者使用现有Web技术栈构建原生桌面应用,UI在WebView中运行,逻辑在Deno中执行,输出为单一可分发二进制文件。此版本还将冷启动时间从34ms缩短至17ms,内存峰值占用降低2.2倍,HTTP吞吐量提升最高1.27倍,并将Node.js兼容性目标升级至Node.js 26。

Deno Land 近日发布了 Deno 2.9,这是该公司 JavaScript/TypeScript/WebAssembly 运行时的最新版本更新,核心亮点是新增了 deno desktop 功能,开发者可直接利用已熟悉的 Web 技术栈构建原生桌面应用程序。

Deno 2.9 于 6 月 25 日正式推出,同时在启动时间、内存占用及 HTTP 吞吐量方面均有所改善。安装说明可在 docs.deno.com 查阅。

deno desktop 功能详解

通过 Deno 2.9,用户可以将 deno desktop 指向某个脚本或 Web 框架项目,从而生成一个原生且独立的桌面应用程序。该应用的 UI 层在 WebView 中运行,逻辑层则在 Deno 中执行。由于 deno desktop 基于与 deno compile 相同的底层机制构建,最终输出的是一个包含代码与资源文件的单一可分发二进制文件。

启动速度大幅提升

在 Deno 2.9 中,一个 hello-world 程序的冷启动时间约为 2.8 版本的一半,从 34 毫秒缩短至 17 毫秒。这一提升源于多方面的优化措施,包括:延迟加载 node: 全局变量以减少快照体积、将 Node 引导程序限制在 Node Worker 中按需执行、为剩余延迟加载的 ESM 模块启用 V8 代码缓存,以及对快照进行压缩精简。

内存占用显著降低

Deno 2.9 在内存使用方面也带来了明显改善,尤其是高负载场景下的内存表现。在 Deno 2.8 中,常驻集大小会随工作负载增长,从服务纯文本时的约 94MB 增长至流式传输 1MiB 内容时的 197MB;而在 Deno 2.9 中,无论服务器执行何种操作,内存占用基本保持平稳,约为 62MB。这意味着在实际工作负载场景下,峰值内存占用降低了 2.2 倍,在 1MiB 内容场景下更降低了 3.1 倍。因此,同一台服务器在达到资源上限之前,可以运行更多并发的 Deno.serve 实例。

HTTP 吞吐量全面提升

Deno 2.9 的 HTTP 吞吐量同样有所增强,Deno.serve 在各项场景下的性能均得到提升。其中,实际工作负载场景提升约 1.27 倍,纯文本场景提升 1.11 倍,1MiB 内容场景提升 1.18 倍。这些改进主要得益于新引入的 Deno 自有 HTTP/1.1 服务路径。

Node.js 兼容性升级

此外,Deno 2.9 将 Node.js 兼容性目标提升至 Node.js 26,版本号随之更新,所使用的 node-compat 测试套件也同步升级至 26.3.0 版本。

Q&A

Q1:Deno 2.9 的 deno desktop 功能是什么?它能用来做什么?

A:deno desktop 是 Deno 2.9 新增的功能,允许开发者直接使用熟悉的 Web 技术栈(如 JavaScript/TypeScript)来构建原生桌面应用程序。应用的 UI 层在 WebView 中渲染,逻辑层在 Deno 中运行,最终生成一个包含所有代码和资源的单一可分发二进制文件,无需额外依赖。

Q2:Deno 2.9 相比 Deno 2.8 启动速度快了多少?

A:Deno 2.9 的冷启动速度大约是 Deno 2.8 的两倍。以 hello-world 程序为例,启动时间从 2.8 版本的 34 毫秒缩短至 17 毫秒。这一改进来自多项优化,包括延迟加载全局变量、V8 代码缓存以及对运行时快照进行压缩精简等。

Q3:Deno 2.9 在内存使用上有哪些改进?

A:Deno 2.9 在高负载场景下的内存占用大幅降低。相比 Deno 2.8 内存会随负载增长(最高达 197MB),Deno 2.9 无论在何种工作负载下内存始终维持在约 62MB 左右。在实际场景中,峰值内存降低了 2.2 倍,在 1MiB 内容传输场景中更降低了 3.1 倍,同一台机器可运行更多并发服务实例。

来源:InfoWorld

0赞

好文章,需要你的鼓励

2026

07/02

15:52

分享

点赞

邮件订阅