Electron 桌面应用:打包、签名、自动更新、性能优化
引言
Electron 已经成为桌面应用开发的主流框架之一。从 VS Code、Slack、Discord 到 Figma Desktop,越来越多的生产级应用选择 Electron 作为其桌面端的技术底座。然而,将一个 Electron 应用从开发环境推向生产环境,中间横亘着四座大山:打包分发、代码签名、自动更新和性能优化。
这四件事,每一件都有大量的"坑"。笔者在过去几年中维护了多个 Electron 项目,踩过 macOS 公证失败、Windows 签名证书过期、增量更新包体积爆炸、主进程阻塞导致界面卡死等问题。本文将以一个完整的 Electron 应用为线索,从零开始,逐步构建一个可发布、可签名、可更新、性能优秀的生产级应用。
本文面向的读者:有一定 Electron 开发经验,了解主进程/渲染进程的基本概念,但在工程化、发布和性能优化方面需要系统性指导。
技术栈:Electron 31+、electron-builder 24+、electron-updater 6+、Vite 5+、TypeScript 5+。
第一部分:项目脚手架与工程化基础
1.1 项目初始化
我们使用 Vite +