electron/electron
GitHub: electron/electron
基于 Chromium 和 Node.js 的跨平台桌面应用开发框架,让开发者用 Web 技术构建原生桌面软件。
Stars: 120348 | Forks: 17022
[](https://electronjs.org)
[](https://github.com/electron/electron/actions/workflows/build.yml)
[](https://discord.gg/electronjs)
:memo: 可用的翻译:🇨🇳 🇧🇷 🇪🇸 🇯🇵 🇷🇺 🇫🇷 🇺🇸 🇩🇪。
请访问我们的 [Crowdin](https://crowdin.com/project/electron) 项目查看这些文档的其他语言版本。
Electron 框架允许你使用 JavaScript、HTML 和 CSS 编写跨平台桌面应用程序。
它基于 [Node.js](https://nodejs.org/) 和 [Chromium](https://www.chromium.org),
被 [Visual Studio Code](https://github.com/Microsoft/vscode/) 以及许多其他[应用程序](https://electronjs.org/apps)所使用。
请在 Twitter 上关注 [@electronjs](https://twitter.com/electronjs) 以获取重要公告。
本项目遵守贡献者公约[行为准则](https://github.com/electron/electron/tree/main/CODE_OF_CONDUCT.md)。
参与本项目即表示您有责任遵守该准则。如有不可接受的行为,请向 [coc@electronjs.org](mailto:coc@electronjs.org) 举报。
## 安装
要安装预构建的 Electron 二进制文件,请使用 [`npm`](https://docs.npmjs.com/)。
推荐的方法是将 Electron 作为开发依赖项安装到你的应用程序中:
```
npm install electron --save-dev
```
欲了解更多安装选项和故障排除提示,请参阅 [安装](docs/tutorial/installation.md)。有关如何在应用程序中管理 Electron 版本的信息,请参阅 [Electron 版本控制](docs/tutorial/electron-versioning.md)。
## 平台支持
每个 Electron 版本都为 macOS、Windows 和 Linux 提供二进制文件。
* macOS (Monterey 及更高版本):Electron 为 macOS 提供 64 位 Intel 和 Apple Silicon / ARM 二进制文件。
* Windows (Windows 10 及更高版本):Electron 为 Windows 提供 `ia32` (`x86`)、`x64` (`amd64`) 和 `arm64` 二进制文件。Windows on ARM 支持已在 Electron 5.0.8 中添加。对 Windows 7、8 和 8.1 的支持[已在 Electron 23 中移除,以符合 Chromium 的 Windows 弃用政策](https://www.electronjs.org/blog/windows-7-to-8-1-deprecation-notice)。
* Linux:Electron 的预构建二进制文件是在 Ubuntu 22.04 上构建的。经验证,它们也可以在以下系统上工作:
* Ubuntu 18.04 及更新版本
* Fedora 32 及更新版本
* Debian 10 及更新版本
## Electron Fiddle
使用 [`Electron Fiddle`](https://github.com/electron/fiddle)
来构建、运行和打包小型的 Electron 实验,查看 Electron 所有 API 的代码示例,
以及尝试不同版本的 Electron。它的设计初衷是让你的 Electron 入门之旅更加轻松。
## Electron 学习资源
* [electronjs.org/docs](https://electronjs.org/docs) - Electron 的所有文档
* [electron/fiddle](https://github.com/electron/fiddle) - 一个用于构建、运行和打包小型 Electron 实验的工具
* [electronjs.org/community#boilerplates](https://electronjs.org/community#boilerplates) - 社区创建的示例入门应用程序
## 编程方式使用
大多数人从命令行使用 Electron,但如果你在 **Node 应用程序**(而不是你的 Electron 应用程序)中
引用 `electron`,它将返回二进制文件的文件路径。使用此方法从 Node 脚本中生成 Electron 进程:
```
const electron = require('electron')
const proc = require('node:child_process')
// will print something similar to /Users/maf/.../Electron
console.log(electron)
// spawn Electron
const child = proc.spawn(electron)
```
### 镜像
* [中国](https://npmmirror.com/mirrors/electron/)
请参阅 [高级安装说明](https://www.electronjs.org/docs/latest/tutorial/installation#mirror) 了解如何使用自定义镜像。
## 文档翻译
我们通过 [Crowdin](https://crowdin.com/project/electron) 众包我们的文档翻译。
目前我们接受中文(简体)、法语、德语、日语、葡萄牙语、俄语和西班牙语的翻译。
## 社区
有关报告错误、获取帮助、查找第三方工具和示例应用程序等信息,
可以在[社区页面](https://www.electronjs.org/community)上找到。
## 许可证
[MIT](https://github.com/electron/electron/blob/main/LICENSE)
在使用 Electron 标志时,请务必遵守 [OpenJS Foundation 商标政策](https://trademark-policy.openjsf.org/)。
标签:Apple Silicon, Arm64, Chromium, CMS安全, CSS, Electron, GNU通用公共许可证, GUI, HTML, JavaScript, MITM代理, Node.js, npm, SOC Prime, VS Code, Web技术, 原生应用, 多模态安全, 安全决策支持, 客户端开发, 开发工具, 数据可视化, 桌面应用开发, 桌面软件, 混合开发