Electron 的核心技术主要包括以下几个方面:
- Chromium: Electron 使用了 Chromium 浏览器作为其渲染引擎。Chromium 是 Google Chrome 的开源版本,负责处理和渲染应用程序的用户界面,包括 HTML、CSS 和 JavaScript。这使得开发者可以利用 Web 开发技术来构建应用的界面。
- Node.js: Electron 集成了 Node.js,使得开发者可以在应用程序的主进程(后台)中运行 JavaScript 代码。Node.js 提供了对文件系统、网络、进程等系统级 API 的访问,增强了应用程序的功能和交互性。
- Native API: Electron 提供了一套 API,允许主进程和渲染进程之间进行通信,以及调用操作系统级别的功能。这些 API 包括 ipcRenderer 和 ipcMain(用于进程间通信)、webContents(用于控制页面内容)等。
Electron 还有一个很大特点就是多进程。主要的有以下两个进程:
- 主进程
- Electron 中运行 package.json 中的 main 脚本的进程被称为主进程,即 main.js 就是运行在主进程。
- 一个 electron 应用有且只有一个主进程。
- 只有主进程可以直接进行 GUI 相关的原生 API 操作。
- 渲染进程
- 运行在 Chromium 的 web 页面姑且叫渲染进程,即运行 index.html 的环境就是渲染进程。
- 一个 electron 应用可以有多个渲染进程。
- 渲染进程在引入 Node.js 模块的前提下,可以在页面中和操作系统进行一些底层交互(如 fs 模块)。
Electron 还有一个很大特点就是多进程。主要的有以下两个进程:
- 主进程
- Electron 中运行 package.json 中的 main 脚本的进程被称为主进程,即 main.js 就是运行在主进程。
- 一个 electron 应用有且只有一个主进程。
- 只有主进程可以直接进行 GUI 相关的原生 API 操作。
- 渲染进程
- 运行在 Chromium 的 web 页面姑且叫渲染进程,即运行 index.html 的环境就是渲染进程。
- 一个 electron 应用可以有多个渲染进程。
- 渲染进程在引入 Node.js 模块的前提下,可以在页面中和操作系统进行一些底层交互(如 fs 模块)。