Electron 简介
Electron 是一款框架,借助它,开发者能够运用 JavaScript、HTML 和 CSS 构建桌面应用程序。它把 Chromium 和 Node.js 嵌入二进制文件,让开发者仅维护一个 JavaScript 代码库,就能创建出可在 Windows、macOS 以及 Linux 系统上运行的跨平台应用,而且无需具备原生开发经验。
入门
建议新手从 tutorial 入手,它会引导你完成开发一个 Electron 应用程序并将其分发给用户的全过程。示例 和 API 文档同样是值得探索、挖掘新知识的绝佳去处。
使用 Electron Fiddle 运行示例程序
Electron Fiddle 是一款基于 Electron 编写的沙盒应用程序,由 Electron 的维护团队提供支持。强烈推荐将其作为一款学习工具进行安装,以便在开发过程中对 Electron 的 API 进行测试,或者开发原型系统。
Fiddle 还与文档实现了深度集成。在浏览教程示例时,常常会在代码块下方看到一个 “Open in Electron Fiddle” 的按钮。要是安装了 Fiddle,点击这个按钮就会打开一个指向 fiddle.electronjs.org
的链接,它会自动将示例加载到 Fiddle 中,无需手动复制粘贴。
快速开始示例代码
- main.js
const { app, BrowserWindow } = require('electron/main')
const path = require('node:path')
function createWindow () {
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
preload: path.join(__dirname, 'preload.js')
}
})
win.loadFile('index.html')
}
app.whenReady().then(() => {
createWindow()
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow()
}
})
})
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
- preload.js
window.addEventListener('DOMContentLoaded', () => {
const replaceText = (selector, text) => {
const element = document.getElementById(selector)
if (element) element.innerText = text
}
for (const type of ['chrome', 'node', 'electron']) {
replaceText(`${type}-version`, process.versions[type])
}
})
- index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" />
</head>
<body>
<h1>Hello World!</h1>
<p>
We are using Node.js <span id="node-version"></span>,
Chromium <span id="chrome-version"></span>,
and Electron <span id="electron-version"></span>.
</p>
</body>
</html>
Electron 文档中包涵哪些内容
所有的官方文档涵盖如下内容:
- Tutorial: 这是一份端到端指南,讲解如何创建并发布首个 Electron 应用程序。
- Processes in Electron: 对 Electron 进程进行深入解析,并介绍如何与之协同工作。
- Best Practices: 一份重要的检查清单,在开发 Electron 应用程序时需时刻牢记。
- Examples: 为 Electron 应用程序添加功能的快速参考资料。
- Development: 包含各类开发指南。
- Distribution: 学习如何将应用程序交付给终端用户。
- Testing And Debugging: 介绍如何调试 JavaScript、编写测试,以及用于打造高质量 Electron 应用程序的其他工具。
- References: 提供有用链接,有助于更透彻地理解 Electron 项目的运作及组织方式。
- Contributing: 编译 Electron 和做出贡献的过程可能颇具挑战,此部分旨在降低难度 。
如何获取更多的帮助
是否在任何地方遇到困难了呢?这里有一些可查找的链接:
- 倘若在开发应用程序时需要帮助,社区 Discord 服务器向其他 Electron 应用程序开发者获取建议的理想之地。
- 要是怀疑在使用 electron 包时遇到错误,请查看 GitHub 问题跟踪器,看看是否有与你遇到的问题相匹配的现有问题。若没有,可随时填写我们的错误报告模板并提交新问题。