Merge pull request #7878 from electron/glossary
Add a glossary of terms
This commit is contained in:
commit
2b955a5ae1
37 changed files with 190 additions and 39 deletions
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> loquear o sistema de entrar no modo de pouca energia (suspenso).
|
> loquear o sistema de entrar no modo de pouca energia (suspenso).
|
||||||
|
|
||||||
Processo: [Main](../tutorial/quick-start.md#main-process)
|
Processo: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
Por exemplo:
|
Por exemplo:
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@ an issue:
|
||||||
|
|
||||||
## Guides
|
## Guides
|
||||||
|
|
||||||
|
* [Glossary of Terms](glossary.md)
|
||||||
* [Supported Platforms](tutorial/supported-platforms.md)
|
* [Supported Platforms](tutorial/supported-platforms.md)
|
||||||
* [Security](tutorial/security.md)
|
* [Security](tutorial/security.md)
|
||||||
* [Electron Versioning](tutorial/electron-versioning.md)
|
* [Electron Versioning](tutorial/electron-versioning.md)
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Control your application's event lifecycle.
|
> Control your application's event lifecycle.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
The following example shows how to quit the application when the last window is
|
The following example shows how to quit the application when the last window is
|
||||||
closed:
|
closed:
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Enable apps to automatically update themselves.
|
> Enable apps to automatically update themselves.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
The `autoUpdater` module provides an interface for the
|
The `autoUpdater` module provides an interface for the
|
||||||
[Squirrel](https://github.com/Squirrel) framework.
|
[Squirrel](https://github.com/Squirrel) framework.
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Manipulate the child browser window
|
> Manipulate the child browser window
|
||||||
|
|
||||||
Process: [Renderer](../tutorial/quick-start.md#renderer-process)
|
Process: [Renderer](../glossary.md#renderer-process)
|
||||||
|
|
||||||
The `BrowserWindowProxy` object is returned from `window.open` and provides
|
The `BrowserWindowProxy` object is returned from `window.open` and provides
|
||||||
limited functionality with the child window.
|
limited functionality with the child window.
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Create and control browser windows.
|
> Create and control browser windows.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
// In the main process.
|
// In the main process.
|
||||||
|
@ -111,7 +111,7 @@ child.once('ready-to-show', () => {
|
||||||
|
|
||||||
> Create and control browser windows.
|
> Create and control browser windows.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
`BrowserWindow` is an
|
`BrowserWindow` is an
|
||||||
[EventEmitter](http://nodejs.org/api/events.html#events_class_events_eventemitter).
|
[EventEmitter](http://nodejs.org/api/events.html#events_class_events_eventemitter).
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Make HTTP/HTTPS requests.
|
> Make HTTP/HTTPS requests.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
`ClientRequest` implements the [Writable Stream](https://nodejs.org/api/stream.html#stream_writable_streams)
|
`ClientRequest` implements the [Writable Stream](https://nodejs.org/api/stream.html#stream_writable_streams)
|
||||||
interface and is therefore an [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter).
|
interface and is therefore an [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter).
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Perform copy and paste operations on the system clipboard.
|
> Perform copy and paste operations on the system clipboard.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process)
|
Process: [Main](../glossary.md#main-process), [Renderer](../glossary.md#renderer-process)
|
||||||
|
|
||||||
The following example shows how to write a string to the clipboard:
|
The following example shows how to write a string to the clipboard:
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
> Collect tracing data from Chromium's content module for finding performance
|
> Collect tracing data from Chromium's content module for finding performance
|
||||||
bottlenecks and slow operations.
|
bottlenecks and slow operations.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
This module does not include a web interface so you need to open
|
This module does not include a web interface so you need to open
|
||||||
`chrome://tracing/` in a Chrome browser and load the generated file to view the
|
`chrome://tracing/` in a Chrome browser and load the generated file to view the
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Query and modify a session's cookies.
|
> Query and modify a session's cookies.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
Instances of the `Cookies` class are accessed by using `cookies` property of
|
Instances of the `Cookies` class are accessed by using `cookies` property of
|
||||||
a `Session`.
|
a `Session`.
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Submit crash reports to a remote server.
|
> Submit crash reports to a remote server.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process)
|
Process: [Main](../glossary.md#main-process), [Renderer](../glossary.md#renderer-process)
|
||||||
|
|
||||||
The following is an example of automatically submitting a crash report to a
|
The following is an example of automatically submitting a crash report to a
|
||||||
remote server:
|
remote server:
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> An alternate transport for Chrome's remote debugging protocol.
|
> An alternate transport for Chrome's remote debugging protocol.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
Chrome Developer Tools has a [special binding][rdp] available at JavaScript
|
Chrome Developer Tools has a [special binding][rdp] available at JavaScript
|
||||||
runtime that allows interacting with pages and instrumenting them.
|
runtime that allows interacting with pages and instrumenting them.
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
> Access information about media sources that can be used to capture audio and
|
> Access information about media sources that can be used to capture audio and
|
||||||
> video from the desktop using the [`navigator.webkitGetUserMedia`] API.
|
> video from the desktop using the [`navigator.webkitGetUserMedia`] API.
|
||||||
|
|
||||||
Process: [Renderer](../tutorial/quick-start.md#renderer-process)
|
Process: [Renderer](../glossary.md#renderer-process)
|
||||||
|
|
||||||
The following example shows how to capture video from a desktop window whose
|
The following example shows how to capture video from a desktop window whose
|
||||||
title is `Electron`:
|
title is `Electron`:
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Display native system dialogs for opening and saving files, alerting, etc.
|
> Display native system dialogs for opening and saving files, alerting, etc.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
An example of showing a dialog to select multiple files and directories:
|
An example of showing a dialog to select multiple files and directories:
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Control file downloads from remote sources.
|
> Control file downloads from remote sources.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
`DownloadItem` is an `EventEmitter` that represents a download item in Electron.
|
`DownloadItem` is an `EventEmitter` that represents a download item in Electron.
|
||||||
It is used in `will-download` event of `Session` class, and allows users to
|
It is used in `will-download` event of `Session` class, and allows users to
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Detect keyboard events when the application does not have keyboard focus.
|
> Detect keyboard events when the application does not have keyboard focus.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
The `globalShortcut` module can register/unregister a global keyboard shortcut
|
The `globalShortcut` module can register/unregister a global keyboard shortcut
|
||||||
with the operating system so that you can customize the operations for various
|
with the operating system so that you can customize the operations for various
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Handle responses to HTTP/HTTPS requests.
|
> Handle responses to HTTP/HTTPS requests.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
`IncomingMessage` implements the [Readable Stream](https://nodejs.org/api/stream.html#stream_readable_streams)
|
`IncomingMessage` implements the [Readable Stream](https://nodejs.org/api/stream.html#stream_readable_streams)
|
||||||
interface and is therefore an [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter).
|
interface and is therefore an [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter).
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Communicate asynchronously from the main process to renderer processes.
|
> Communicate asynchronously from the main process to renderer processes.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
The `ipcMain` module is an instance of the
|
The `ipcMain` module is an instance of the
|
||||||
[EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter) class. When used in the main
|
[EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter) class. When used in the main
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Communicate asynchronously from a renderer process to the main process.
|
> Communicate asynchronously from a renderer process to the main process.
|
||||||
|
|
||||||
Process: [Renderer](../tutorial/quick-start.md#renderer-process)
|
Process: [Renderer](../glossary.md#renderer-process)
|
||||||
|
|
||||||
The `ipcRenderer` module is an instance of the
|
The `ipcRenderer` module is an instance of the
|
||||||
[EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter) class. It provides a few
|
[EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter) class. It provides a few
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Add items to native application menus and context menus.
|
> Add items to native application menus and context menus.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
See [`Menu`](menu.md) for examples.
|
See [`Menu`](menu.md) for examples.
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Create native application menus and context menus.
|
> Create native application menus and context menus.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
### `new Menu()`
|
### `new Menu()`
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Create tray, dock, and application icons using PNG or JPG files.
|
> Create tray, dock, and application icons using PNG or JPG files.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process)
|
Process: [Main](../glossary.md#main-process), [Renderer](../glossary.md#renderer-process)
|
||||||
|
|
||||||
In Electron, for the APIs that take images, you can pass either file paths or
|
In Electron, for the APIs that take images, you can pass either file paths or
|
||||||
`NativeImage` instances. An empty image will be used when `null` is passed.
|
`NativeImage` instances. An empty image will be used when `null` is passed.
|
||||||
|
@ -159,7 +159,7 @@ Creates a new `NativeImage` instance from `dataURL`.
|
||||||
|
|
||||||
> Natively wrap images such as tray, dock, and application icons.
|
> Natively wrap images such as tray, dock, and application icons.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process)
|
Process: [Main](../glossary.md#main-process), [Renderer](../glossary.md#renderer-process)
|
||||||
|
|
||||||
### Instance Methods
|
### Instance Methods
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Issue HTTP/HTTPS requests using Chromium's native networking library
|
> Issue HTTP/HTTPS requests using Chromium's native networking library
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
The `net` module is a client-side API for issuing HTTP(S) requests. It is
|
The `net` module is a client-side API for issuing HTTP(S) requests. It is
|
||||||
similar to the [HTTP](https://nodejs.org/api/http.html) and
|
similar to the [HTTP](https://nodejs.org/api/http.html) and
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Monitor power state changes.
|
> Monitor power state changes.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
You cannot require or use this module until the `ready` event of the `app`
|
You cannot require or use this module until the `ready` event of the `app`
|
||||||
module is emitted.
|
module is emitted.
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Block the system from entering low-power (sleep) mode.
|
> Block the system from entering low-power (sleep) mode.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Extensions to process object.
|
> Extensions to process object.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process)
|
Process: [Main](../glossary.md#main-process), [Renderer](../glossary.md#renderer-process)
|
||||||
|
|
||||||
Electron's `process` object is extended from the
|
Electron's `process` object is extended from the
|
||||||
[Node.js `process` object](https://nodejs.org/api/process.html).
|
[Node.js `process` object](https://nodejs.org/api/process.html).
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Register a custom protocol and intercept existing protocol requests.
|
> Register a custom protocol and intercept existing protocol requests.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
An example of implementing a protocol that has the same effect as the
|
An example of implementing a protocol that has the same effect as the
|
||||||
`file://` protocol:
|
`file://` protocol:
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Use main process modules from the renderer process.
|
> Use main process modules from the renderer process.
|
||||||
|
|
||||||
Process: [Renderer](../tutorial/quick-start.md#renderer-process)
|
Process: [Renderer](../glossary.md#renderer-process)
|
||||||
|
|
||||||
The `remote` module provides a simple way to do inter-process communication
|
The `remote` module provides a simple way to do inter-process communication
|
||||||
(IPC) between the renderer process (web page) and the main process.
|
(IPC) between the renderer process (web page) and the main process.
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Retrieve information about screen size, displays, cursor position, etc.
|
> Retrieve information about screen size, displays, cursor position, etc.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process)
|
Process: [Main](../glossary.md#main-process), [Renderer](../glossary.md#renderer-process)
|
||||||
|
|
||||||
You cannot require or use this module until the `ready` event of the `app`
|
You cannot require or use this module until the `ready` event of the `app`
|
||||||
module is emitted.
|
module is emitted.
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Manage browser sessions, cookies, cache, proxy settings, etc.
|
> Manage browser sessions, cookies, cache, proxy settings, etc.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
The `session` module can be used to create new `Session` objects.
|
The `session` module can be used to create new `Session` objects.
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ A `Session` object, the default session object of the app.
|
||||||
|
|
||||||
> Get and set properties of a session.
|
> Get and set properties of a session.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
You can create a `Session` object in the `session` module:
|
You can create a `Session` object in the `session` module:
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Manage files and URLs using their default applications.
|
> Manage files and URLs using their default applications.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process)
|
Process: [Main](../glossary.md#main-process), [Renderer](../glossary.md#renderer-process)
|
||||||
|
|
||||||
The `shell` module provides functions related to desktop integration.
|
The `shell` module provides functions related to desktop integration.
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Get system preferences.
|
> Get system preferences.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
const {systemPreferences} = require('electron')
|
const {systemPreferences} = require('electron')
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Add icons and context menus to the system's notification area.
|
> Add icons and context menus to the system's notification area.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
`Tray` is an [EventEmitter][event-emitter].
|
`Tray` is an [EventEmitter][event-emitter].
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Render and control web pages.
|
> Render and control web pages.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
`webContents` is an
|
`webContents` is an
|
||||||
[EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter).
|
[EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter).
|
||||||
|
@ -49,7 +49,7 @@ Returns `WebContents` - A WebContents instance with the given ID.
|
||||||
|
|
||||||
> Render and control the contents of a BrowserWindow instance.
|
> Render and control the contents of a BrowserWindow instance.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
### Instance Events
|
### Instance Events
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Customize the rendering of the current web page.
|
> Customize the rendering of the current web page.
|
||||||
|
|
||||||
Process: [Renderer](../tutorial/quick-start.md#renderer-process)
|
Process: [Renderer](../glossary.md#renderer-process)
|
||||||
|
|
||||||
An example of zooming current page to 200%.
|
An example of zooming current page to 200%.
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Intercept and modify the contents of a request at various stages of its lifetime.
|
> Intercept and modify the contents of a request at various stages of its lifetime.
|
||||||
|
|
||||||
Process: [Main](../tutorial/quick-start.md#main-process)
|
Process: [Main](../glossary.md#main-process)
|
||||||
|
|
||||||
Instances of the `WebRequest` class are accessed by using the `webRequest`
|
Instances of the `WebRequest` class are accessed by using the `webRequest`
|
||||||
property of a `Session`.
|
property of a `Session`.
|
||||||
|
|
150
docs/glossary.md
Normal file
150
docs/glossary.md
Normal file
|
@ -0,0 +1,150 @@
|
||||||
|
# Glossary
|
||||||
|
|
||||||
|
This page defines some terminology that is commonly used in Electron development.
|
||||||
|
|
||||||
|
### ASAR
|
||||||
|
|
||||||
|
ASAR stands for Atom Shell Archive Format. An [asar][asar] archive is a simple
|
||||||
|
`tar`-like format that concatenates files into a single file. Electron can read
|
||||||
|
arbitrary files from it without unpacking the whole file.
|
||||||
|
|
||||||
|
The ASAR format was created primarily to improve performance on Windows... TODO
|
||||||
|
|
||||||
|
### Brightray
|
||||||
|
|
||||||
|
Brightray is a static library that makes [libchromiumcontent] easier to use in
|
||||||
|
applications. It was created specifically for Electron, but can be used to
|
||||||
|
enable Chromium's renderer in native apps that are not based on Electron.
|
||||||
|
|
||||||
|
Brightray is a low-level dependency of Electron that does not concern the
|
||||||
|
majority of Electron users.
|
||||||
|
|
||||||
|
### DMG
|
||||||
|
|
||||||
|
An Apple Disk Image is a packaging format used by macOS. DMG files are
|
||||||
|
commonly used for distributing application "installers". [electron-builder]
|
||||||
|
supports `dmg` as a build target.
|
||||||
|
|
||||||
|
### IPC
|
||||||
|
|
||||||
|
IPC stands for Inter-Process Communication. Electron uses IPC to send
|
||||||
|
serialized JSON messages between the [main] and [renderer] processes.
|
||||||
|
|
||||||
|
### libchromiumcontent
|
||||||
|
|
||||||
|
A single, shared library that includes the Chromium Content module and all its
|
||||||
|
dependencies (e.g., Blink, [V8], etc.).
|
||||||
|
|
||||||
|
### main process
|
||||||
|
|
||||||
|
The main process, commonly a file named `main.js`, is the entry point to every
|
||||||
|
Electron app. It controls the life of the app, from open to close. It also
|
||||||
|
manages native elements such as the Menu, Menu Bar, Dock, Tray, etc. The
|
||||||
|
main process is responsible for creating each new renderer process in the app.
|
||||||
|
The full Node API is built in.
|
||||||
|
|
||||||
|
Every app's main process file is specified in the `main` property in
|
||||||
|
`package.json`. This is how `electron .` knows what file to execute at startup.
|
||||||
|
|
||||||
|
See also: [process](#process), [renderer process](#renderer-process)
|
||||||
|
|
||||||
|
### MAS
|
||||||
|
|
||||||
|
Acronym for Apple's Mac App Store. For details on submitting your app to the
|
||||||
|
MAS, see the [Mac App Store Submission Guide].
|
||||||
|
|
||||||
|
### native modules
|
||||||
|
|
||||||
|
Native modules (also called [addons] in
|
||||||
|
Node.js) are modules written in C or C++ that can be loaded into Node.js or
|
||||||
|
Electron using the require() function, and used just as if they were an
|
||||||
|
ordinary Node.js module. They are used primarily to provide an interface
|
||||||
|
between JavaScript running in Node.js and C/C++ libraries.
|
||||||
|
|
||||||
|
Native Node modules are supported by Electron, but since Electron is very
|
||||||
|
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
|
||||||
|
building native modules.
|
||||||
|
|
||||||
|
See also [Using Native Node Modules].
|
||||||
|
|
||||||
|
## NSIS
|
||||||
|
|
||||||
|
Nullsoft Scriptable Install System is a script-driven Installer
|
||||||
|
authoring tool for Microsoft Windows. It is released under a combination of
|
||||||
|
free software licenses, and is a widely-used alternative to commercial
|
||||||
|
proprietary products like InstallShield. [electron-builder] supports NSIS
|
||||||
|
as a build target.
|
||||||
|
|
||||||
|
### process
|
||||||
|
|
||||||
|
A process is an instance of a computer program that is being executed. Electron
|
||||||
|
apps that make use of the [main] and one or many [renderer] process are
|
||||||
|
actually running several programs simultaneously.
|
||||||
|
|
||||||
|
In Node.js and Electron, each running process has a `process` object. This
|
||||||
|
object is a global that provides information about, and control over, the
|
||||||
|
current process. As a global, it is always available to applications without
|
||||||
|
using require().
|
||||||
|
|
||||||
|
See also: [main process](#main-process), [renderer process](#renderer-process)
|
||||||
|
|
||||||
|
### renderer process
|
||||||
|
|
||||||
|
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.
|
||||||
|
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)
|
||||||
|
|
||||||
|
### Squirrel
|
||||||
|
|
||||||
|
Squirrel is an open-source framework that enables Electron apps to update
|
||||||
|
automatically as new versions are released. See the [autoUpdater] API for
|
||||||
|
info about getting started with Squirrel.
|
||||||
|
|
||||||
|
### userland
|
||||||
|
|
||||||
|
This term originated in the Unix community, where "userland" or "userspace"
|
||||||
|
referred to programs that run outside of the operating system kernel. More
|
||||||
|
recently, the term has been popularized in the Node and npm community to
|
||||||
|
distinguish between the features available in "Node core" versus packages
|
||||||
|
published to the npm registry by the much larger "user" community.
|
||||||
|
|
||||||
|
Like Node, Electron is focused on having a small set of APIs that provide
|
||||||
|
all the necessary primitives for developing multi-platform desktop applications.
|
||||||
|
This design philosophy allows Electron to remain a flexible tool without being
|
||||||
|
overly prescriptive about how it should be used. Userland enables users to
|
||||||
|
create and share tools that provide additional functionality on top of what is
|
||||||
|
available in "core".
|
||||||
|
|
||||||
|
### V8
|
||||||
|
|
||||||
|
V8 is Google's open source JavaScript engine. It is written in C++ and is
|
||||||
|
used in Google Chrome, the open source browser from Google. V8 can run
|
||||||
|
standalone, or can be embedded into any C++ application.
|
||||||
|
|
||||||
|
### webview
|
||||||
|
|
||||||
|
`webview` tags are used to embed 'guest' content (such as external web pages) in
|
||||||
|
your Electron app. They are similar to `iframe`s, but differ in that each
|
||||||
|
webview runs in a separate process. It doesn't have the same
|
||||||
|
permissions as your web page and all interactions between your app and
|
||||||
|
embedded content will be asynchronous. This keeps your app safe from the
|
||||||
|
embedded content.
|
||||||
|
|
||||||
|
[addons]: https://nodejs.org/api/addons.html
|
||||||
|
[autoUpdater]: api/auto-updater.md
|
||||||
|
[electron-builder]: https://github.com/electron-userland/electron-builder
|
||||||
|
[libchromiumcontent]: #libchromiumcontent
|
||||||
|
[Mac App Store Submission Guide]: tutorials/mac-app-store-submission-guide.md
|
||||||
|
[main]: #main-process
|
||||||
|
[renderer]: #renderer-process
|
||||||
|
[Using Native Node Modules]: tutorial/using-native-node-modules.md
|
||||||
|
[userland]: #userland
|
||||||
|
[V8]: #v8
|
Loading…
Reference in a new issue