Skip to content

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 处理自动更新。

基于 MIT 许可发布