本文档提供了对 drawio-desktop 存储库的介绍,解释了它的目的、架构和主要功能。drawio-desktop 应用程序是一个基于 Electron 的包装器,围绕核心 draw.io 图表编辑器,提供安全、支持离线操作的桌面体验。
有关系统架构的详细信息,请参阅 架构。有关构建和打包文档,请参阅 构建和打包。
draw.io Desktop 是一款独立的图表应用程序,它将核心 draw.io 编辑器封装在 Electron 容器中。它使用户能够在不联网的情况下,在本地计算机上创建、编辑和保存图表。
来源:README.md1-9 package.json1-5
来源:README.md10-17 package.json25-30 package.json37-46
安全性是 draw.io Desktop 的主要目标之一。该应用程序被设计为与互联网完全隔离,唯一的外部连接是更新过程,该过程会检查 GitHub 以获取新版本。
主要安全特性
来源:README.md10-17 README.md51-55
该应用程序遵循 Electron 的架构模式,包含两个主要进程
| 进程 | 角色 | 关键文件 |
|---|---|---|
| 主进程 | 控制应用程序生命周期、窗口管理、文件系统访问 | src/main/electron.js |
| 渲染器进程 | 运行 draw.io Web 应用程序,处理 UI | 通过 IPC 与主进程通信 |
来源:package.json5-7 README.md3-4
drawio-desktop 存储库包含核心 draw.io 编辑器作为一个 git 子模块。这种架构允许桌面应用程序保持 Web 编辑器的全部功能,同时添加桌面特有的功能。
来源:README.md29-31 package.json21-24 package.json36
draw.io Desktop 支持多个平台,并提供特定平台的构建版本
| 平台 | 构建类型 | 配置 |
|---|---|---|
| Windows | 安装程序、便携版、ARM64、Windows 应用商店 (APPX) | electron-builder-win.json, electron-builder-win32.json, electron-builder-win-arm64.json, electron-builder-appx.json |
| macOS | DMG | electron-builder-linux-mac.json |
| Linux | AppImage, DEB, RPM, Snap | electron-builder-linux-mac.json, electron-builder-snap.json |
draw.io Desktop 的开发工作流程包括
有关完整的开发说明,请参阅 开发指南。
来源:README.md26-42 package.json11-19
draw.io Desktop 遵循语义化版本控制,并使用自动更新系统为用户提供最新的功能和安全更新。更新过程会检查 GitHub 以获取新版本,并从 AWS S3 存储桶下载。
有关更新系统的更多信息,请参阅 更新系统。
刷新此 Wiki
最后索引时间2025 年 4 月 18 日(f1ed8e)