Electron
Electron(原名:Atom Shell)是由 GitHub 开发、现由 OpenJS Foundation 与开发者社区共同维护的开源跨平台桌面应用开发框架,基于 Chromium 渲染引擎与 Node.js 运行时构建,允许开发者使用 HTML、CSS 和 JavaScript 等 Web 技术构建兼容 Windows、macOS 及 Linux 的原生桌面应用程序。[1][2][3]
| Electron | |
|---|---|
| 外文名 | Electron |
| 别名 | Atom Shell(原名) |
| 开发者 | GitHub / OpenJS Foundation |
| 首次发布 | 2014年4月(beta版) |
| 稳定版本 | 42.3.3(2026年) |
| 编程语言 | JavaScript、C++、Python |
| 操作系统 | Windows、macOS、Linux |
| 平台 | 跨平台 |
| 软件类型 | 桌面应用开发框架 |
| 许可协议 | MIT License |
| 官方网站 | electronjs.org |
| 源码仓库 | GitHub |
Electron 是一款开源的跨平台桌面应用开发框架,其核心架构由 Chromium 浏览器引擎与 Node.js 运行时环境组合而成,两者之间通过 IPC(进程间通信)机制进行交互。[4] 开发者可借助前端技术栈构建具备原生系统访问能力的桌面程序,包括文件系统读写、系统通知调用及硬件交互等功能。[2] Electron 兼容 macOS(Monterey 及以上)、Windows 10/11 及主流 Linux 发行版,并提供 x64、ARM64 等多架构支持。[3]
Electron 的前身名为 Atom Shell,最初是 GitHub 为开发其开源文本编辑器 Atom 而构建的附属项目。[4] 2014 年 4 月,Atom Shell 以 beta 版本形式公开发布;随着该框架的影响力逐渐超越 Atom 本身,项目于 2015 年正式更名为 Electron,并作为独立专案进行维护。[1] 此后,Electron 交由 OpenJS Foundation 管理,由活跃的全球贡献者社区持续维护与迭代。[2]
Electron 的技术本质可概括为 Chromium 与 Node.js 的组合体。[4] Chromium 内核负责提供现代浏览器的 HTML5、CSS3 渲染能力及 JavaScript 引擎;Node.js 运行时则赋予应用访问底层系统 API、文件系统及网络模块的能力。[2] 两者通过 Electron 封装的 IPC 模块实现主进程(Main Process)与渲染进程(Renderer Process)之间的通信。
Electron 采用多进程架构。主进程负责管理应用生命周期、创建浏览器窗口及调用原生 API;每个 BrowserWindow 实例对应独立的渲染进程,负责页面 UI 渲染。[2] 该模型与 Chromium 的多进程架构保持一致,可有效隔离单个窗口的崩溃风险。
Electron 提供统一的 API 抽象层,同一套代码库可编译为 Windows(ia32、x64、arm64)、macOS(Intel 及 Apple Silicon)和 Linux 平台的可执行程序。[3] 其版本发布与 Chromium 大版本保持同步,确保安全补丁及时跟进。[2]
通过 Node.js 集成,Electron 应用可调用操作系统原生接口,包括自定义应用菜单、对话框、系统通知、全局快捷键、文件拖放及自动更新模块(autoUpdater)等。[2]
Electron 社区提供 Electron Forge、electron-builder 等工具链,支持生成平台特定的安装包格式,如 Windows 的 .msi / .exe、macOS 的 .dmg 以及 Linux 的 .rpm / .deb 等。[2]
Electron 框架已被广泛应用于消费级与企业级桌面软件的开发,代表性应用包括:[2][3]
- Visual Studio Code:微软开发的跨平台源代码编辑器
- Atom:GitHub 推出的开源文本编辑器(Electron 的起源项目)
- Slack:团队协作通讯工具
- Discord:即时通讯与社区平台
- GitHub Desktop:GitHub 官方桌面客户端
- Postman:API 测试与开发工具
- Figma:界面设计工具(桌面端)
- Microsoft Teams(旧版):微软协作平台
Electron 因基于 Chromium 内核,常被批评应用体积较大且内存占用较高。[5] 部分厂商因此转向更轻量的替代方案,如微软新版 Teams 即从 Electron 迁移至 Microsoft Edge WebView2 以提升性能并减少内存消耗。[6] 尽管如此,Electron 凭借 Web 技术栈的低门槛、丰富的 npm 生态及活跃的社区支持,仍是当前跨平台桌面开发的主流方案之一。[5]
- ↑ 1.0 1.1 Electron_百度百科
- ↑ 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 Build cross-platform desktop apps with JavaScript, HTML, and CSS | Electron
- ↑ 3.0 3.1 3.2 3.3 GitHub - electron/electron
- ↑ 4.0 4.1 4.2 Electron跨平台桌面应用程序开发框架入门简介及学习笔记 - 知乎
- ↑ 5.0 5.1 几个桌面应用开发框架比较:Electron、Flutter、Tauri - 21CTO
- ↑ 腾讯两则消息:公司的第一个专利是Pony马的成果,十年"屎山"终重构,QQ选用了友商放弃的Electron