Electron 術語表

2023-04-26 11:15 更新

術語表

這篇文檔說明了一些經(jīng)常在 Electron 開發(fā)中使用的專業(yè)術語。

ASAR

ASAR 代表了 Atom Shell Archive Format。一個 asar 壓縮包就是一個簡單的 tar 文件-就像將那些有聯(lián)系的文件格式化至一個單獨的文件中。Electron 能夠任意讀取其中的文件并且不需要解壓縮整個文件。

ASAR 格式主要是為了提升 Windows 平臺上的性能。

Brightray

Brightray 是能夠簡單的將 libchromiumcontent 應用到應用中的一個靜態(tài)庫。它是專門開發(fā)給 Electron 使用,但是也能夠使用在那些沒有基于 Electron 的原生應用來啟用 Chromium 的渲染引擎。

Brightray 是 Electron 中的一個低級別的依賴,大部分的 Electron 用戶不用關心它。

DMG

是指在 macOS 上使用的蘋果系統(tǒng)的磁盤鏡像打包格式。DMG 文件通常被用來分發(fā)應用的 "installers"(安裝包)。electron-builder 支持使用 dmg 來作為編譯目標。

IPC

IPC 代表 Inter-Process Communication。Electron 使用 IPC 來在 [主進程] 和 [渲染進程] 之間傳遞 JSON 信息。

libchromiumcontent

一個單獨的開源庫,包含了 Chromium 的模塊以及全部依賴(比如 Blink, V8 等)。

main process

主進程,通常是指 main.js 文件,是每個 Electron 應用的入口文件。它控制著整個 APP 的生命周期,從打開到關閉。它也管理著原生元素比如菜單,菜單欄,Dock 欄,托盤等。主進程負責創(chuàng)建 APP 的每個渲染進程。而且整個 Node API 都集成在里面。

每個 app 的主進程文件都定義在 package.json 中的 main 屬性當中,這也是為什么 electron  能夠知道應該使用哪個文件來啟動。

參見: processrenderer process

MAS

是指蘋果系統(tǒng)上的 Mac App Store 的縮略詞。有關于如何提交你的 app 至 MAS ,詳見 Mac App Store Submission Guide 。

native modules

原生模塊 (在 Node.js 里也叫 addons),是一些使用 C or C++ 編寫的能夠在 Node.js 中加載或者在 Electron 中使用 require() 方法來加載的模塊,它使用起來就如同 Node.js 的模塊。它主要用于橋接在 JavaScript 上運行 Node.js 和 C/C++ 的庫。

Electron 支持了原生的 Node 模塊,但是 Electron 非常可能安裝一個不一樣的 V8 引擎通過 Node 二進制編碼,所以在打包原生模塊的時候你需要在 指定具體的 Electron 本地頭文件。

參見: Using Native Node Modules.

NSIS

Nullsoft Scriptable Install System 是一個微軟 Windows 平臺上的腳本驅動的安裝制作工具。它發(fā)布在免費軟件許可證書下,是一個被廣泛使用的替代商業(yè)專利產品類似于 InstallShield。electron-builder 支持使用 NSIS 作為編譯目標。

process

一個進程是計算機程序執(zhí)行中的一個實例。Electron 應用同時使用了 main (主進程) 和一個或者多個 renderer (渲染進程)來運行多個程序。

在 Node.js 和 Electron 里面,每個運行的進程包含一個 process 對象。這個對象作為一個全局的提供當前進程的相關信息,操作方法。作為一個全局變量,它在應用內能夠不用 require() 來隨時取到。

參見: main processrenderer process

renderer process

渲染進程是你的應用內的一個瀏覽器窗口。與主進程不同的是,它能夠同時存在多個而且運行在不一樣的進程。而且它們也能夠被隱藏。

在通常的瀏覽器內,網(wǎng)頁通常運行在一個沙盒的環(huán)境擋住并且不能夠使用原生的資源。然而 Electron 的用戶在 Node.js 的 API 支持下可以在頁面中和操作系統(tǒng)進行一些低級別的交互。

參見: processmain process

Squirrel

Squirrel 是一個開源的框架來讓 Electron 的應用能夠自動的更新到發(fā)布的新的版本。詳見 autoUpdater API 了解如何開始使用 Squirrel。

userland

"userland" 或者 "userspace" 術語起源于 Unix 社區(qū),當程序運行在操作系統(tǒng)內核之外。最近這個術語被推廣在 Node 和 npm 社區(qū)用于區(qū)分 "Node core" 與發(fā)布的包的功能,對于在 npm 上注冊的廣大 "user(用戶)" 們。

就像 Node ,Electron 致力于使用一些少量的設置和 API 來提供所有的必須的支持給開發(fā)中的跨平臺應用。這個設計理念讓 Electron 能夠保持靈活而不被過多的規(guī)定有關于如何應該被使用。Userland 讓用戶能夠創(chuàng)造和分享一些工具來提額外的功能在這個能夠使用的 "core(核心)"之上。

V8

V8 是谷歌公司的開源的 JavaScript 引擎。它使用 C++ 編寫并使用在谷歌公司開源的的瀏覽器 Google Chrome 上。V8 能夠單獨運行或者集成在任何一個 C++ 應用內。

webview

webview 標簽用于集成 'guest(訪客)' 內容(比如外部的網(wǎng)頁)在你的 Electron 應用內。它們類似于 iframe,但是不同的是每個 webview 運行在獨立的進程中。 作為頁面它擁有不一樣的權限并且所有的嵌入的內容和你應用之間的交互都將是異步的。這將保證你的應用對于嵌入的內容的安全性。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號