docs: update glossary (#30874)
* docs: update glossary * remove nsis entry
This commit is contained in:
parent
dbd18d8562
commit
52bacd38a9
1 changed files with 83 additions and 35 deletions
118
docs/glossary.md
118
docs/glossary.md
|
@ -4,15 +4,39 @@ This page defines some terminology that is commonly used in Electron development
|
||||||
|
|
||||||
### ASAR
|
### ASAR
|
||||||
|
|
||||||
ASAR stands for Atom Shell Archive Format. An [asar][asar] archive is a simple
|
ASAR stands for Atom Shell Archive Format. An [asar] archive is a simple
|
||||||
`tar`-like format that concatenates files into a single file. Electron can read
|
`tar`-like format that concatenates files into a single file. Electron can read
|
||||||
arbitrary files from it without unpacking the whole file.
|
arbitrary files from it without unpacking the whole file.
|
||||||
|
|
||||||
The ASAR format was created primarily to improve performance on Windows... TODO
|
The ASAR format was created primarily to improve performance on Windows when
|
||||||
|
reading large quantities of small files (e.g. when loading your app's JavaScript
|
||||||
|
dependency tree from `node_modules`).
|
||||||
|
|
||||||
|
### code signing
|
||||||
|
|
||||||
|
Code signing is a process where an app developer digitally signs their code to
|
||||||
|
ensure that it hasn't been tampered with after packaging. Both Windows and
|
||||||
|
macOS implement their own version of code signing. As a desktop app developer,
|
||||||
|
it's important that you sign your code if you plan on distributing it to the
|
||||||
|
general public.
|
||||||
|
|
||||||
|
For more information, read the [Code Signing] tutorial.
|
||||||
|
|
||||||
|
### context isolation
|
||||||
|
|
||||||
|
Context isolation is a security measure in Electron that ensures that your
|
||||||
|
preload script cannot leak privileged Electron or Node.js APIs to the web
|
||||||
|
contents in your renderer process. With context isolation enabled, the
|
||||||
|
only way to expose APIs from your preload script is through the
|
||||||
|
`contextBridge` API.
|
||||||
|
|
||||||
|
For more information, read the [Context Isolation] tutorial.
|
||||||
|
|
||||||
|
See also: [preload script](#preload-script), [renderer process](#renderer-process)
|
||||||
|
|
||||||
### CRT
|
### CRT
|
||||||
|
|
||||||
The C Run-time Library (CRT) is the part of the C++ Standard Library that
|
The C Runtime Library (CRT) is the part of the C++ Standard Library that
|
||||||
incorporates the ISO C99 standard library. The Visual C++ libraries that
|
incorporates the ISO C99 standard library. The Visual C++ libraries that
|
||||||
implement the CRT support native code development, and both mixed native and
|
implement the CRT support native code development, and both mixed native and
|
||||||
managed code, and pure managed code for .NET development.
|
managed code, and pure managed code for .NET development.
|
||||||
|
@ -20,8 +44,7 @@ managed code, and pure managed code for .NET development.
|
||||||
### DMG
|
### DMG
|
||||||
|
|
||||||
An Apple Disk Image is a packaging format used by macOS. DMG files are
|
An Apple Disk Image is a packaging format used by macOS. DMG files are
|
||||||
commonly used for distributing application "installers". [electron-builder]
|
commonly used for distributing application "installers".
|
||||||
supports `dmg` as a build target.
|
|
||||||
|
|
||||||
### IME
|
### IME
|
||||||
|
|
||||||
|
@ -31,19 +54,15 @@ keyboards to input Chinese, Japanese, Korean and Indic characters.
|
||||||
|
|
||||||
### IDL
|
### IDL
|
||||||
|
|
||||||
Interface description language. Write function signatures and data types in a format that can be used to generate interfaces in Java, C++, JavaScript, etc.
|
Interface description language. Write function signatures and data types in a
|
||||||
|
format that can be used to generate interfaces in Java, C++, JavaScript, etc.
|
||||||
|
|
||||||
### IPC
|
### IPC
|
||||||
|
|
||||||
IPC stands for Inter-Process Communication. Electron uses IPC to send
|
IPC stands for inter-process communication. Electron uses IPC to send
|
||||||
serialized JSON messages between the [main] and [renderer] processes.
|
serialized JSON messages between the main and renderer processes.
|
||||||
|
|
||||||
### libchromiumcontent
|
see also: [main process](#main-process), [renderer process](#renderer-process)
|
||||||
|
|
||||||
A shared library that includes the [Chromium Content module] and all its
|
|
||||||
dependencies (e.g., Blink, [V8], etc.). Also referred to as "libcc".
|
|
||||||
|
|
||||||
- [github.com/electron/libchromiumcontent](https://github.com/electron/libchromiumcontent)
|
|
||||||
|
|
||||||
### main process
|
### main process
|
||||||
|
|
||||||
|
@ -68,10 +87,22 @@ MAS, see the [Mac App Store Submission Guide].
|
||||||
|
|
||||||
### Mojo
|
### Mojo
|
||||||
|
|
||||||
An IPC system for communicating intra- or inter-process, and that's important because Chrome is keen on being able to split its work into separate processes or not, depending on memory pressures etc.
|
An IPC system for communicating intra- or inter-process, and that's important
|
||||||
|
because Chrome is keen on being able to split its work into separate processes
|
||||||
|
or not, depending on memory pressures etc.
|
||||||
|
|
||||||
See https://chromium.googlesource.com/chromium/src/+/master/mojo/README.md
|
See https://chromium.googlesource.com/chromium/src/+/master/mojo/README.md
|
||||||
|
|
||||||
|
See also: [IPC](#ipc)
|
||||||
|
|
||||||
|
### MSI
|
||||||
|
|
||||||
|
On Windows, MSI packages are used by the Windows Installer
|
||||||
|
(also known as Microsoft Installer) service to install and configure
|
||||||
|
applications.
|
||||||
|
|
||||||
|
More information can be found in [Microsoft's documentation][msi].
|
||||||
|
|
||||||
### native modules
|
### native modules
|
||||||
|
|
||||||
Native modules (also called [addons] in
|
Native modules (also called [addons] in
|
||||||
|
@ -85,22 +116,33 @@ likely to use a different V8 version from the Node binary installed in your
|
||||||
system, you have to manually specify the location of Electron’s headers when
|
system, you have to manually specify the location of Electron’s headers when
|
||||||
building native modules.
|
building native modules.
|
||||||
|
|
||||||
See also [Using Native Node Modules].
|
For more information, read the [Native Node Modules] tutorial.
|
||||||
|
|
||||||
### NSIS
|
### notarization
|
||||||
|
|
||||||
Nullsoft Scriptable Install System is a script-driven Installer
|
Notarization is a macOS-specific process where a developer can send a
|
||||||
authoring tool for Microsoft Windows. It is released under a combination of
|
code-signed app to Apple servers to get verified for malicious
|
||||||
free software licenses, and is a widely-used alternative to commercial
|
components through an automated service.
|
||||||
proprietary products like InstallShield. [electron-builder] supports NSIS
|
|
||||||
as a build target.
|
See also: [code signing](#code-signing)
|
||||||
|
|
||||||
### OSR
|
### OSR
|
||||||
|
|
||||||
OSR (Off-screen rendering) can be used for loading heavy page in
|
OSR (offscreen rendering) can be used for loading heavy page in
|
||||||
background and then displaying it after (it will be much faster).
|
background and then displaying it after (it will be much faster).
|
||||||
It allows you to render page without showing it on screen.
|
It allows you to render page without showing it on screen.
|
||||||
|
|
||||||
|
For more information, read the [Offscreen Rendering][osr] tutorial.
|
||||||
|
|
||||||
|
### preload script
|
||||||
|
|
||||||
|
Preload scripts contain code that executes in a renderer process
|
||||||
|
before its web contents begin loading. These scripts run within
|
||||||
|
the renderer context, but are granted more privileges by having
|
||||||
|
access to Node.js APIs.
|
||||||
|
|
||||||
|
See also: [renderer process](#renderer-process), [context isolation](#context-isolation)
|
||||||
|
|
||||||
### process
|
### process
|
||||||
|
|
||||||
A process is an instance of a computer program that is being executed. Electron
|
A process is an instance of a computer program that is being executed. Electron
|
||||||
|
@ -120,13 +162,17 @@ The renderer process is a browser window in your app. Unlike the main process,
|
||||||
there can be multiple of these and each is run in a separate process.
|
there can be multiple of these and each is run in a separate process.
|
||||||
They can also be hidden.
|
They can also be hidden.
|
||||||
|
|
||||||
In normal browsers, web pages usually run in a sandboxed environment and are not
|
|
||||||
allowed access to native resources. Electron users, however, have the power to
|
|
||||||
use Node.js APIs in web pages allowing lower level operating system
|
|
||||||
interactions.
|
|
||||||
|
|
||||||
See also: [process](#process), [main process](#main-process)
|
See also: [process](#process), [main process](#main-process)
|
||||||
|
|
||||||
|
### sandbox
|
||||||
|
|
||||||
|
The sandbox is a security feature inherited from Chromium that restricts
|
||||||
|
your renderer processes to a limited set of permissions.
|
||||||
|
|
||||||
|
For more information, read the [Process Sandboxing] tutorial.
|
||||||
|
|
||||||
|
See also: [process](#process)
|
||||||
|
|
||||||
### Squirrel
|
### Squirrel
|
||||||
|
|
||||||
Squirrel is an open-source framework that enables Electron apps to update
|
Squirrel is an open-source framework that enables Electron apps to update
|
||||||
|
@ -174,13 +220,15 @@ embedded content.
|
||||||
|
|
||||||
[addons]: https://nodejs.org/api/addons.html
|
[addons]: https://nodejs.org/api/addons.html
|
||||||
[asar]: https://github.com/electron/asar
|
[asar]: https://github.com/electron/asar
|
||||||
[autoUpdater]: api/auto-updater.md
|
[autoupdater]: api/auto-updater.md
|
||||||
[Chromium Content module]: https://www.chromium.org/developers/content-module
|
[code signing]: tutorial/code-signing.md
|
||||||
[electron-builder]: https://github.com/electron-userland/electron-builder
|
[context isolation]: tutorial/context-isolation.md
|
||||||
[libchromiumcontent]: #libchromiumcontent
|
[mac app store submission guide]: tutorial/mac-app-store-submission-guide.md
|
||||||
[Mac App Store Submission Guide]: tutorial/mac-app-store-submission-guide.md
|
|
||||||
[main]: #main-process
|
[main]: #main-process
|
||||||
|
[msi]: https://docs.microsoft.com/en-us/windows/win32/msi/windows-installer-portal
|
||||||
|
[offscreen rendering]: tutorial/offscreen-rendering.md
|
||||||
|
[process sandboxing]: tutorial/sandbox.md
|
||||||
[renderer]: #renderer-process
|
[renderer]: #renderer-process
|
||||||
[userland]: #userland
|
[userland]: #userland
|
||||||
[Using Native Node Modules]: tutorial/using-native-node-modules.md
|
[using native node modules]: tutorial/using-native-node-modules.md
|
||||||
[V8]: #v8
|
[v8]: #v8
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue