Deno 2.9 平台,支持 Deno Desktop,用于创建桌面应用程序。

Deno 2.9 正式发布,这是一个专为独立运行使用 V8 引擎(基于 Chromium 内核的浏览器所采用)编写的 JavaScript 和 TypeScript 服务器端及桌面应用程序而设计的平台。该项目由 Node.js 的创建者 Ryan Dahl 开发,旨在提供更安全的环境并消除 Node.js 架构中的概念性缺陷。为了提高安全性,V8 框架采用 Rust 编写,并使用 Tokio 平台进行非阻塞请求处理。项目代码以 MIT 许可证发布。已准备好构建版本。 Linux, Windows и macOS.

新版本最显著的特点是实现了实验性的 Deno Desktop 工具包,该工具包支持使用类似 Electron 平台的 Web 技术创建自定义 GUI 应用程序。应用程序逻辑和界面使用标准 Web 框架以 JavaScript 或 TypeScript 编写,并通过基于浏览器的引擎执行。该应用程序以独立可执行文件的形式交付,并提供类似于传统 GUI 程序的用户界面。

Deno Desktop 提供两种后端,分别运行在操作系统自带的 WebView 和集成到应用程序中的 CEF(Chromium Embedded Framework)。基于 WebView 的后端运行在系统自带的 WebView2 浏览器引擎之上,因此可以减小可执行文件的大小。 Windows 以及 WebKit macOS и Linux而 CEF 后端使得跨平台实现相同的界面渲染成为可能。 Linux, macOS и Windows但代价是可执行文件的大小大幅增加。

使用 WebView 时,测试应用程序的可执行文件大小估计为 40 MB;使用 CEF 时,则为 150 MB。相比之下,Electron 的可执行文件大小为 100 MB,Electrobun 为 61 MB,Tauri 为 2-10 MB(Electron 使用嵌入式 CEF,而 Electrobun 和 Tauri 使用系统自带的 WebView)。目前正在开发一种跨应用程序共享通用 CEF 引擎的机制,该机制将有助于减小可执行文件的大小。

Deno Desktop 与 Node.js、NPM 生态系统以及 Next.js、Astro、Fresh、Remix、Nuxt、SvelteKit、SolidStart、TanStack Start 和 Vite SSR 等 Web 框架完全兼容。它提供了一个 API,用于访问原生桌面 API。例如,您可以控制窗口的大小、位置和可见性,创建菜单,附加自定义处理程序,为系统托盘和面板设置图标,以及显示原生操作系统对话框。Web 应用程序无需更改代码即可构建为桌面程序,并且所使用的 Web 框架可以自动检测并在单个系统上进行交叉编译。 Linux x64/arm64, Windows x64 和 macOS x64/arm64。适用于 Linux 软件包可以生成为 AppImage、deb 和 rpm 格式。

与 Electron、Electrobun 和 Tauri 不同,Deno Desktop 不使用基于套接字的进程间通信 (IPC) 的多进程执行模型。相反,它使用 CEF 的多线程模型或 WebView 的进程组模型,后端和 GUI 代码之间通过进程内通道进行通信。它内置了更新检查和自动安装机制,为了节省带宽,仅下载自上一版本以来发生更改的数据(使用基于 bsdiff 的二进制补丁),并且支持在启动新版本时发生故障时回滚到上一版本。

Deno 2.9 的其他新增功能包括:

  • 支持在“deno install”命令中直接读取锁定文件,以简化从 npm、pnpm、yarn 和 Bun 迁移到 Deno 的过程。
  • 支持导入CSS模块。
  • 实现与Node.js 26平台的兼容性。
  • 新增命令“deno link”、“deno unlink”和“deno list”。
  • 支持使用 Web Locks API 对资源设置锁定。
  • 启用默认的 24 小时延迟(min-release-age=24h),然后再安装新版本的依赖项,以防止依赖项被篡改攻击。
  • 启动时间缩短(约 2 倍),内存消耗降低(约 2.2 倍),使用 HTTP 时吞吐量提高(约 1.2 倍)。



    来源: opennet.ru
为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster