正在刊行长文 · Essay
2026-06-23所有内容
随机比特 · Random Bits

Deno Desktop 替你省掉了 Electron 的 preload 和 IPC 样板

2026-06-23AI Engineering / Systemsrbits.uk
Deno Desktop 替你省掉了 Electron 的 preload 和 IPC 样板

关于 Deno Desktop,先说清楚现状:官方标注 Coming in Deno 2.9,当前需 canary 版本,命令、配置和 API 仍可能变化。它不是生产迁移方案,不是现在就让你换掉 Electron。

但它试图解决一个 Electron 和 Tauri 都没解决的问题:为什么把一个 JS/TS 项目桌面化,需要额外维护一套独立工程?

桌面胶水代码,才是真实的长期成本

前端团队把 Web 项目做成桌面应用,两个常规选项。

Electron 成熟,生态完整。但接入后你的仓库里就多了一套东西:main process、preload 脚本、IPC 通道、打包配置、代码签名和自动更新链路。这些不是一次性初始化——项目每加一个本地能力调用,就要在 renderer、preload、main 三层之间重新走一遍注册、暴露、调用的流程。写得再熟也得维护,它每时每刻都在仓库里占着位置。

Tauri 更轻量,但代价是系统能力依赖 Rust 后端和插件生态。前端团队要接受一个可能没人熟练维护的技术栈。

两条路径的共同问题:桌面形态硬生生在你的 Web 项目之外引入了一套额外工程边界。这套边界不是你的业务逻辑,但需要持续维护、调试和升级。

Electron、Tauri、Deno Desktop 工程边界对比

把桌面当成输出目标,而不是新工程

Deno Desktop 做了一个结构上的调整:让桌面应用成为 Deno 运行时的一个输出目标,而不是独立项目。

区分三者角色:Electron 是浏览器壳,Tauri 是原生桥,Deno Desktop 是运行时出口。这意味着项目结构中不再存在独立维护的 main process 或 Rust 后端——你写的仍是 Deno/TypeScript 项目,编译目标只是多了一种。

包体大小当然有差距。官方 comparison 给出的参考数量级:Electron ~100MB+,Tauri ~2–10MB,Deno Desktop ~40MB,CEF ~150MB。这些数字在选择时影响决策——需要极致体积的选 Tauri,需要一致渲染的选 Electron。但工程胶水代码的维护成本,在项目迭代足够多之后常常超过首包体积差异。而胶水代码的成本不取决于你选了多大的包体,取决于所选方案到底要不要这套胶水代码。

bindings 的结构性区别

具体到本地能力调用,差异是结构性的。以读取配置文件为例——几乎所有桌面应用都要做的事:

Electron 的典型路径:renderer → preload API → ipcMain → main process → 文件系统。preload 负责暴露接口,ipcMain 负责消息路由,main process 负责系统调用。三层之间靠 IPC 样板串联。

Deno Desktop 的路径:WebView → bindings → Deno runtime → 文件系统。

Electron IPC 与 Deno Desktop bindings 调用链对比

bindings 省掉的不是某几行代码,而是 preload 和 IPC 这一层样板链的结构性存在。它不减少安全责任——binding 仍然是能力入口,使用时需避免暴露 readFile(path) 这类任意路径接口,换成 readSettings()saveSettings(data) 等语义化接口,在 Deno 侧做目录白名单和数据校验。

适用边界

当前结论是清晰的:

不适合替换成熟 Electron 项目。 需要代码签名、安装包、自动更新和完整插件生态的场景,Electron 仍然最稳。

Tauri 在小体积和移动端上仍更成熟。 对包体极度敏感或需移动端支持的项目,Tauri 是更现实的选择。

Deno Desktop 的起步场景是内部工具的技术预研。 本地配置面板、日志查看器、文件处理工具等——这些场景对签名和更新链路的依赖低,桌面胶水代码却一点不少。

最小验证足以说明问题:

deno upgrade canary
deno desktop .

验证三件事:项目结构能否识别,窗口能否正常打开,开发热更新是否保留。

如果跑通,Deno Desktop 提供的是一种不同的工程边界:让 JS/TS 项目在不额外维护完整桌面工程的前提下,获得桌面交付形态。

随机比特公众号二维码
公众号 · 随机比特
从 AI 工具热闹里拆工程真相

写边界、控制面、上下文、成本与安全。