词汇表
这篇文档解释了一些经常在 Electron 开发中使用的专业术语。
ASAR
ASAR 表示 Atom Shell Archive Format。 一个 asar 档案就是一个简单的 tar
文件 - 比如将那些有关联的文件放至一个单独的文件格式中。 Electron 能够任意读取其中的文件并且不需要解压整个文件。
ASAR格式是为了在Windows系统读取大量的小文件时 (比如像从node_modules
加载应用的JavaScript依赖关系树) 提高性能。
code signing(代码签名)
代码签名是一个过程,其中应用开发人员对其代码进行数字签名以 确保代码在打包后未被篡改。 Windows 和 macOS 都实现了自己的代码签名版本。 作为桌面应用开发人员, 如果您计划将代码分发给 公众,则必须对代码进行签名。
有关详细信息,请阅读 代码签名 教程。
context isolation(上下文隔离)
上下文隔离是 Electron 中的一项安全措施,可确保 预加载脚本不会将拥有优先权的 Electron 或 Node.js API 泄漏到 Web 渲染器进程中的内容。 启用上下文隔离后,从预加载脚本公开 API 的唯 方法是通过 contextBridge
API。
有关详细信息,请阅读 上下文隔离 教程。
CRT
C 运行时库 (CRT) 是包含了 ISO C99 标准库的 C++ 标准库的一部分。 实现了 CRT 的 Visual C++ 库支持本机代码开发, 以及混合的本机和托管代码, 以及用于 .NET 开发的纯托管代码。
DMG
是指在 macOS 上使用的苹果系统的磁盘镜像打包格式。 DMG 文件通常被用来分发应用的 "installers"。
IME
输入法编辑器. 是一个允许用户输入在键盘上找不到的字符和符号的程序。 例如,使用户可以用拉丁语键盘输入中文,日文,韩文和印度文字。
IDL
接口描述语言(Interface Description Language)。 撰写函数签名与数据类型的格式语言,可用于生成 Java、C++ 和 JavaScript 等语言中的接口。
IPC
IPC 代表进程间通信。 Electron使用IPC在主进程和渲染器进程之间发送 序列化的JSON消息。
参见: main process, renderer process
main process
主进程,通常是指 main.js
文件,是每个 Electron 应用的入口文件。 控制着整个应用的生命周期,从打开到关闭。 它也管理着系统原生元素比如菜单,菜单栏,Dock 栏,托盘等。 主进程负责创建 APP 的每一个渲染进程。 包含了全功能的 Node API。
应用的主进程定义在 package.json
中的 main
属性中。 当您运行 electron .
时 Electron 便会知道需要运行哪个文件。
在Chromium中,此进程被称为“浏览器进程”。 Electron 中这样称呼是为了不与渲染进程混淆。
参见: process, renderer process
MAS
这是苹果 Mac App Store 的缩写。 有关如何提交您的应用到 MAS 上,请参见 Mac App Store Submission Guide。
Mojo
一种用于进程内部或进程间通信的 IPC 系统, 这很重要, 因为 Chrome会依据内存压力等来决定是否将其工作分拆给不同的进程。
可参考https://chromium.googlesource.com/chromium/src/+/main/mojo/README.md
参见: IPC