主题
Electron
Electron 用 Chromium + Node.js 构建桌面应用。渲染层仍然是 Web 技术,桌面能力由主进程通过 Electron API、Node.js API 或原生模块提供。
适合场景:
- 已有 Web 技术栈,希望复用 React、Vue、Vite 等前端工程能力。
- 需要访问文件系统、系统托盘、剪贴板、快捷键、菜单、窗口等桌面能力。
- 需要跨 Windows、macOS、Linux 分发同一套桌面应用。
- 应用体积和资源占用不是第一优先级。
不适合场景:
- 对启动速度、安装包体积、内存占用非常敏感。
- 需要强系统集成、低层硬件能力或平台原生体验。
- 团队无法维护桌面端打包、签名、公证、自动更新等工程链路。
核心结构
Electron 应用通常由三部分组成:
bash
src/
├── main/ # 主进程:窗口、菜单、系统 API、文件系统、数据库
├── preload/ # 预加载脚本:安全暴露有限能力给渲染进程
└── renderer/ # 渲染进程:React、Vue、Svelte 等 Web UI职责划分:
main:拥有 Node.js 与 Electron 主进程 API,负责创建窗口和访问系统资源。preload:运行在渲染进程加载前,作为主进程能力和页面之间的安全桥。renderer:负责界面渲染,不直接访问 Node.js、数据库或文件系统。
常用工具
electron-vite:Electron + Vite 开发与构建工具。electron-builder:打包应用并生成安装包。electron-updater:配合electron-builder处理自动更新。
