入门指南
提供了 Deno 的入门指引,包括欢迎使用、安装、设置环境等内容。
指南
涵盖运行代码(含监视模式和 HMR)、依赖管理(发布、供应链、对等依赖、私有仓库)、Web 开发、JSX 和 React、HTTP 服务器、测试(模拟、快照、覆盖率、文档测试、消毒剂、从 Jest 迁移)、代码检查和格式化、从 Node 迁移(包管理器)、构建 CLI 应用、桌面应用(配置、后端、HTTP 服务、框架、Windows、绑定、菜单、系统托盘和 Dock、对话框、通知、热模块替换、开发者工具、自动更新、错误报告、分发、比较)、部署应用等方面。
概念
包含 TypeScript、Node、安全性、模块、配置文件、工作区、稳定性和版本发布等概念。
诊断
涉及调试、CPU 性能分析、OpenTelemetry 等诊断内容。
高级内容
有 FFI、WebAssembly、定时任务、加载器钩子、代码检查插件、打包、Docker、持续集成、Deno 与 VS Code 等高级内容。
参考
包括概述、CLI(deno add 等众多命令)、标准库(概述、assert 等众多库)、deno.json、TypeScript、环境变量、权限、LSP 集成、代码检查规则等参考信息。
贡献
介绍了贡献的概述、架构、风格指南和帮助等内容。
桌面应用
deno desktop 能将 Deno 项目转化为独立桌面应用,输出可重新分发的二进制文件,将代码、Deno 运行时和 Web 渲染引擎打包,每个平台对应一个包。Deno 2.9 版本即将推出 deno desktop,目前尚未发布稳定版本,可运行 deno upgrade canary 安装 canary 版本,功能稳定前命令、配置键和 TypeScript API 可能变化。
为什么选择 deno desktop
Web 技术是广泛使用的 UI 工具包,基于 Web 栈构建的桌面应用各有权衡。而 deno desktop 有优势:默认体积小且完全兼容 Node,默认 WebView 后端用操作系统自带 WebView 减小二进制文件大小,可通过 Deno 的 Node 兼容层访问 npm 生态系统,也可选择捆绑的 Chromium(CEF)后端;框架自动检测,指向特定项目即可运行,迁移现有 Web 项目到桌面应用无需改代码;进程内绑定而非 IPC,后端和 UI 通信通过进程内通道,Deno 代码和 WebView 间无跨进程往返通信;单台机器跨平台编译,同一台机器可为 macOS、Windows 和 Linux 构建应用,后端按需下载;内置二进制差异自动更新,发布清单和补丁,运行时自动轮询、应用更新并在启动失败时自动回滚。
第一个桌面应用
创建单文件桌面应用,编写 main.ts 代码,执行 deno desktop main.ts 命令,编译后的二进制文件打开窗口指向本地 HTTP 服务器,绑定到 Deno.serve() 处理程序,可直接运行。Deno.serve() 自动绑定到 WebView 导航地址,无需传递端口或主机名,详细信息可参阅 HTTP 服务。
本节内容概览
包括配置(deno.json 中的 desktop 块)、后端(CEF、WebView、原生及选择方法)、HTTP 服务(Deno.serve() 集成和服务模型)、框架(Next.js 等)、Windows(Deno.BrowserWindow 生命周期等)、绑定(通过 bindings.() 从 WebView 调用 Deno 代码)、菜单(应用程序菜单和上下文菜单)、系统托盘和 Dock(系统状态图标和 macOS Dock)、对话框(以原生弹出窗口形式显示 prompt() 等)、通知(通过 Web Notification API 实现原生操作系统通知)、热模块替换(适用于框架和非框架应用的 --hmr)、开发者工具(统一的开发者工具,连接到 Deno 运行时和 WebView)、自动更新(Deno.autoUpdate() 等)、错误报告(捕获未捕获的异常和崩溃)、分发(跨平台编译等)、比较(deno desktop 与 Electron 等的关系)、deno desktop CLI 参考(命令、标志和 deno.json desktop 架构)。