Electron:修订间差异
创建页面,内容为“Electron(原名:Atom Shell)是由 GitHub 开发、现由 OpenJS Foundation 与开发者社区共同维护的开源跨平台桌面应用开发框架,基于 Chromium 渲染引擎与 Node.js 运行时构建,允许开发者使用 HTML、CSS 和 JavaScript 等 Web 技术构建兼容 Windows、macOS 及 Linux 的原生桌面应用程序。<ref name=":0">[https://baike.baidu.com/item/Electron/60878453 Electron_百度百科]</ref><ref name=":1">[https://elect…” |
无编辑摘要 |
||
| 第4行: | 第4行: | ||
|- | |- | ||
! colspan="2" style="text-align:center;" | '''Electron''' | ! colspan="2" style="text-align:center;" | '''Electron''' | ||
|- | |- | ||
| 外文名 || '''Electron''' | | 外文名 || '''Electron''' | ||
| 第17行: | 第15行: | ||
| 稳定版本 || '''42.3.3(2026年)''' | | 稳定版本 || '''42.3.3(2026年)''' | ||
|- | |- | ||
| 编程语言 || '''JavaScript | | 编程语言 || '''[[JavaScript]]、[[C++]]、[[Python]]''' | ||
|- | |- | ||
| 操作系统 || '''Windows、macOS、Linux''' | | 操作系统 || '''Windows、macOS、Linux''' | ||
| 第25行: | 第23行: | ||
| 软件类型 || '''桌面应用开发框架''' | | 软件类型 || '''桌面应用开发框架''' | ||
|- | |- | ||
| 许可协议 || '''MIT License''' | | 许可协议 || '''[[MIT License]]''' | ||
|- | |- | ||
| 官方网站 || '''[https://electronjs.org/ electronjs.org]''' | | 官方网站 || '''[https://electronjs.org/ electronjs.org]''' | ||
| 第38行: | 第36行: | ||
== 历史 == | == 历史 == | ||
Electron 的前身名为 Atom Shell,最初是 GitHub 为开发其开源文本编辑器 Atom 而构建的附属项目。<ref name=":3" /> 2014 年 4 月,Atom Shell 以 beta 版本形式公开发布;随着该框架的影响力逐渐超越 Atom 本身,项目于 2015 年正式更名为 Electron,并作为独立专案进行维护。<ref name=":0" /> 此后,Electron 交由 OpenJS Foundation 管理,由活跃的全球贡献者社区持续维护与迭代。<ref name=":1" /> | Electron 的前身名为 Atom Shell,最初是 [[GitHub]] 为开发其开源文本编辑器 Atom 而构建的附属项目。<ref name=":3" /> 2014 年 4 月,Atom Shell 以 beta 版本形式公开发布;随着该框架的影响力逐渐超越 Atom 本身,项目于 2015 年正式更名为 Electron,并作为独立专案进行维护。<ref name=":0" /> 此后,Electron 交由 OpenJS Foundation 管理,由活跃的全球贡献者社区持续维护与迭代。<ref name=":1" /> | ||
== 技术架构 == | == 技术架构 == | ||
| 第44行: | 第42行: | ||
=== 核心组成 === | === 核心组成 === | ||
Electron 的技术本质可概括为 Chromium 与 Node.js 的组合体。<ref name=":3" /> Chromium 内核负责提供现代浏览器的 | Electron 的技术本质可概括为 [[Chromium]] 与 [[Node.js]] 的组合体。<ref name=":3" /> [[Chromium]] 内核负责提供现代浏览器的 [[HTML]]5、[[CSS]]3 渲染能力及 [[JavaScript]] 引擎;[[Node.js]] 运行时则赋予应用访问底层系统 API、文件系统及网络模块的能力。<ref name=":1" /> 两者通过 Electron 封装的 IPC 模块实现主进程(Main Process)与渲染进程(Renderer Process)之间的通信。 | ||
=== 进程模型 === | === 进程模型 === | ||
| 第54行: | 第52行: | ||
=== 跨平台支持 === | === 跨平台支持 === | ||
Electron 提供统一的 API 抽象层,同一套代码库可编译为 Windows(ia32、x64、arm64)、macOS(Intel 及 Apple Silicon)和 Linux 平台的可执行程序。<ref name=":2" /> 其版本发布与 Chromium 大版本保持同步,确保安全补丁及时跟进。<ref name=":1" /> | Electron 提供统一的 API 抽象层,同一套代码库可编译为 [[Windows(操作系统)|Windows]](ia32、x64、arm64)、macOS(Intel 及 Apple Silicon)和 [[Linux]] 平台的可执行程序。<ref name=":2" /> 其版本发布与 [[Chromium]] 大版本保持同步,确保安全补丁及时跟进。<ref name=":1" /> | ||
=== 原生系统访问 === | === 原生系统访问 === | ||
通过 Node.js 集成,Electron 应用可调用操作系统原生接口,包括自定义应用菜单、对话框、系统通知、全局快捷键、文件拖放及自动更新模块(autoUpdater)等。<ref name=":1" /> | 通过 [[Node.js]] 集成,Electron 应用可调用操作系统原生接口,包括自定义应用菜单、对话框、系统通知、全局快捷键、文件拖放及自动更新模块(autoUpdater)等。<ref name=":1" /> | ||
=== 打包与分发 === | === 打包与分发 === | ||
Electron 社区提供 Electron Forge、electron-builder 等工具链,支持生成平台特定的安装包格式,如 Windows 的 .msi / .exe | Electron 社区提供 Electron Forge、electron-builder 等工具链,支持生成平台特定的安装包格式,如 Windows 的 .msi / .exe、[[macOS]] 的 .dmg 以及 Linux 的 .rpm / .deb 等。<ref name=":1" /> | ||
== 典型应用 == | == 典型应用 == | ||
| 第68行: | 第66行: | ||
Electron 框架已被广泛应用于消费级与企业级桌面软件的开发,代表性应用包括:<ref name=":1" /><ref name=":2" /> | Electron 框架已被广泛应用于消费级与企业级桌面软件的开发,代表性应用包括:<ref name=":1" /><ref name=":2" /> | ||
* '''Visual Studio Code''':微软开发的跨平台源代码编辑器 | * '''[[Visual Studio Code]]''':微软开发的跨平台源代码编辑器 | ||
* '''Atom''':GitHub 推出的开源文本编辑器(Electron 的起源项目) | * '''Atom''':GitHub 推出的开源文本编辑器(Electron 的起源项目) | ||
* '''Slack''':团队协作通讯工具 | * '''Slack''':团队协作通讯工具 | ||
* '''Discord''':即时通讯与社区平台 | * '''[[Discord]]''':即时通讯与社区平台 | ||
* '''GitHub Desktop''':GitHub 官方桌面客户端 | * '''[[GitHub Desktop]]''':GitHub 官方桌面客户端 | ||
* '''Postman''':API 测试与开发工具 | * '''Postman''':API 测试与开发工具 | ||
* '''Figma''':界面设计工具(桌面端) | * '''Figma''':界面设计工具(桌面端) | ||
| 第79行: | 第77行: | ||
== 争议与评价 == | == 争议与评价 == | ||
Electron 因基于 Chromium 内核,常被批评应用体积较大且内存占用较高。<ref name=":4">[https://www.21cto.com/article/3681504305357682 几个桌面应用开发框架比较:Electron、Flutter、Tauri - 21CTO]</ref> 部分厂商因此转向更轻量的替代方案,如微软新版 Teams 即从 Electron 迁移至 Microsoft Edge WebView2 以提升性能并减少内存消耗。<ref name=":5">[https://mp.weixin.qq.com/s?__biz=MzI4MDQwMzk3OQ==&mid=2247545443&idx=1&sn=ae3e1fcde53752bb015bfa1857535d55 腾讯两则消息:公司的第一个专利是Pony马的成果,十年"屎山"终重构,QQ选用了友商放弃的Electron]</ref> 尽管如此,Electron 凭借 Web 技术栈的低门槛、丰富的 npm 生态及活跃的社区支持,仍是当前跨平台桌面开发的主流方案之一。<ref name=":4" /> | Electron 因基于 [[Chromium]] 内核,常被批评应用体积较大且内存占用较高。<ref name=":4">[https://www.21cto.com/article/3681504305357682 几个桌面应用开发框架比较:Electron、Flutter、Tauri - 21CTO]</ref> 部分厂商因此转向更轻量的替代方案,如微软新版 Teams 即从 Electron 迁移至 [[Microsoft Edge WebView2]] 以提升性能并减少内存消耗。<ref name=":5">[https://mp.weixin.qq.com/s?__biz=MzI4MDQwMzk3OQ==&mid=2247545443&idx=1&sn=ae3e1fcde53752bb015bfa1857535d55 腾讯两则消息:公司的第一个专利是Pony马的成果,十年"屎山"终重构,QQ选用了友商放弃的Electron]</ref> 尽管如此,Electron 凭借 Web 技术栈的低门槛、丰富的 npm 生态及活跃的社区支持,仍是当前跨平台桌面开发的主流方案之一。<ref name=":4" /> | ||
== 参考文献 == | == 参考文献 == | ||
<references /> | <references /> | ||