Deno 团队发布了实验性桌面应用打包工具 deno desktop,可将任意 Deno 项目——从单文件 TypeScript 到完整的 Next.js 应用——直接编译为 macOS、Windows、Linux 三平台的独立可执行文件,无需额外配置。
为什么要做桌面版
传统 Web 技术桌面方案各有短板:Electron 体积臃肿、Tauri 依赖 Rust 生态、Electrobun 平台覆盖不全。deno desktop 试图一次性解决这些问题:默认使用操作系统自带的 WebView,生成的二进制文件体积小巧;同时通过 Deno 内置的 Node 兼容层,开发者仍可使用完整 npm 生态。如果需要各平台渲染结果完全一致,也可切换到捆绑 Chromium(CEF)后端。
自动识别主流框架
这是该工具最实用的特性:开发者只需把项目路径指向 deno desktop,Next.js、Astro、Fresh、Remix、Nuxt、SvelteKit、SolidStart、TanStack Start 或 Vite SSR 项目即可自动以生产模式运行;加上 --hmr 参数还能开启热更新调试。整个过程无需修改任何代码,现有 Web 项目直接打包成桌面应用。
通信与更新机制
不同于 Electron 基于进程间 socket 通信的做法,deno desktop 的前后端通过进程内通道交互,数据在边界处序列化,无跨进程往返开销。自更新机制基于 bsdiff 二进制差分算法,开发者只需维护一份 latest.json 清单,运行时自动轮询、下载、校验,版本回滚逻辑也已内置。
当前状态
deno desktop 随 Deno v2.9.0 发布,仍处于非稳定版本。官方建议通过 deno upgrade canary 安装预览版,提前体验 CLI 命令、配置文件结构和 TypeScript API 可能随时调整。文档覆盖了窗口管理、系统菜单、托盘图标、通知 API、DevTools 调试、错误上报及多平台分发等完整功能集。
编注:信源为 Deno 官方文档,材料为功能说明页而非新闻报道,覆盖
deno desktop的设计理念、核心特性与完整功能清单。文档注明该功能为非稳定版本,实际可用时间线待官方进一步说明。