从零构建跨平台桌面应用

📚 30章 实战目录
01
技术选型与开发环境搭建
对比Electron/Tauri/Flutter · 安装Node.js/Git · 创建Hello World
02
Electron核心架构
主进程与渲染进程 · IPC通信 · contextBridge · preload脚本
03
窗口管理与界面布局
BrowserWindow配置 · 无边框窗口 · 原生菜单 · 系统托盘
04
前端框架集成
集成React/Vue · Vite构建 · 热更新HMR · 跨域处理
05
样式与UI组件库
Tailwind CSS · Ant Design / Element Plus · 暗黑模式 · 响应式
06
文件系统操作
fs模块读写 · 对话框打开/保存 · 拖拽文件 · 文件监听
07
数据持久化方案
electron-store · SQLite (better-sqlite3) · IndexedDB · 加密存储
08
网络请求与API调用
主进程net模块 · fetch/axios · CORS与代理 · WebSocket
09
系统原生功能调用
shell模块 · Notification · clipboard · desktopCapturer
10
多窗口与多标签管理
子窗口 · MessagePort通信 · 多标签页 · 布局保存
11
菜单栏与快捷键
自定义菜单 · globalShortcut · 上下文菜单 · 快捷键冲突
12
任务栏与Dock集成
缩略图工具栏 · macOS Dock菜单 · Unity Launcher · Badge
13
自动更新机制
electron-updater · GitHub Releases · 强制更新 · 进度展示
14
日志与错误监控
electron-log · 日志轮转 · Sentry · crashReporter
15
性能优化
减少启动时间 · webWorker · 内存泄漏检测 · 虚拟列表
16
安全最佳实践
禁用Node集成 · contextIsolation · CSP · 防XSS
17
打包与分发
electron-builder · NSIS/DMG/AppImage · 代码签名 · GitHub Actions
18
测试策略
Jest + Spectron · Playwright · Testing Library · CI测试
19
国际化(i18n)
i18next · 语言切换 · 外部翻译 · 本地化数字/日期
20
主题与皮肤系统
动态主题切换 · 配置文件 · 用户自定义 · 主题市场
21
插件系统设计
插件API · 动态require · 沙箱隔离 · 自动安装
22
数据库管理工具实战
SQLite管理 · 表结构可视化 · SQL编辑器 · 导出CSV/Excel
23
Markdown编辑器实战
实时预览 · 语法高亮 · 图片粘贴 · 导出PDF/HTML
24
系统监控工具实战
CPU/内存/磁盘 · 实时图表 · 进程列表 · 系统信息
25
剪贴板管理工具实战
监听剪贴板 · 历史搜索 · 格式转换 · 云同步
26
跨平台兼容性处理
路径差异 · 编码换行 · DPI适配 · 权限管理
27
原生模块(Native Addon)
node-gyp · N-API · 调用C++模块 · 性能对比
28
Electron与Web技术融合
嵌入WebView · Service Worker · PWA对比
29
应用商店发布
Microsoft Store · Mac App Store · Snap/Flatpak · 审核事项
30
项目总结与未来展望
架构回顾 · 常见问题 · Electron 28+ · 移动端扩展