W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
這篇文檔解釋了一些經(jīng)常在 Electron 開發(fā)中使用的專業(yè)術(shù)語。
ASAR 表示 Atom Shell Archive Format。 一個 asar 檔案就是一個簡單的 tar
文件 - 比如將那些有關(guān)聯(lián)的文件放至一個單獨的文件格式中。 Electron 能夠任意讀取其中的文件并且不需要解壓整個文件。
ASAR格式是為了在Windows系統(tǒng)讀取大量的小文件時 (比如像從node_modules
加載應(yīng)用的JavaScript依賴關(guān)系樹) 提高性能。
代碼簽名是一個過程,其中應(yīng)用開發(fā)人員對其代碼進行數(shù)字簽名以 確保代碼在打包后未被篡改。 Windows 和 macOS 都實現(xiàn)了自己的代碼簽名版本。 作為桌面應(yīng)用開發(fā)人員, 如果您計劃將代碼分發(fā)給 公眾,則必須對代碼進行簽名。
上下文隔離是 Electron 中的一項安全措施,可確保 預(yù)加載腳本不會將擁有優(yōu)先權(quán)的 Electron 或 Node.js API 泄漏到 Web 渲染器進程中的內(nèi)容。 啟用上下文隔離后,從預(yù)加載腳本公開 API 的唯 方法是通過 contextBridge
API。
C 運行時庫 (CRT) 是包含了 ISO C99 標(biāo)準(zhǔn)庫的 C++ 標(biāo)準(zhǔn)庫的一部分。 實現(xiàn)了 CRT 的 Visual C++ 庫支持本機代碼開發(fā), 以及混合的本機和托管代碼, 以及用于 .NET 開發(fā)的純托管代碼。
是指在 macOS 上使用的蘋果系統(tǒng)的磁盤鏡像打包格式。 DMG 文件通常被用來分發(fā)應(yīng)用的 "installers"。
輸入法編輯器. 是一個允許用戶輸入在鍵盤上找不到的字符和符號的程序。 例如,使用戶可以用拉丁語鍵盤輸入中文,日文,韓文和印度文字。
接口描述語言(Interface Description Language)。 撰寫函數(shù)簽名與數(shù)據(jù)類型的格式語言,可用于生成 Java、C++ 和 JavaScript 等語言中的接口。
IPC 代表進程間通信。 Electron使用IPC在主進程和渲染器進程之間發(fā)送 序列化的JSON消息。
主進程,通常是指 main.js
文件,是每個 Electron 應(yīng)用的入口文件。 控制著整個應(yīng)用的生命周期,從打開到關(guān)閉。 它也管理著系統(tǒng)原生元素比如菜單,菜單欄,Dock 欄,托盤等。 主進程負(fù)責(zé)創(chuàng)建 APP 的每一個渲染進程。 包含了全功能的 Node API。
應(yīng)用的主進程定義在 package.json
中的 main
屬性中。 當(dāng)您運行 electron .
時 Electron 便會知道需要運行哪個文件。
在Chromium中,此進程被稱為“瀏覽器進程”。 Electron 中這樣稱呼是為了不與渲染進程混淆。
這是蘋果 Mac App Store 的縮寫。
一種用于進程內(nèi)部或進程間通信的 IPC 系統(tǒng), 這很重要, 因為 Chrome會依據(jù)內(nèi)存壓力等來決定是否將其工作分拆給不同的進程。
可參考https://chromium.googlesource.com/chromium/src/+/main/mojo/README.md
在 Windows上,Windows 安裝程序 (也稱為Microsoft Installer) 服務(wù)使用MSI軟件包來安裝和配置 應(yīng)用程序。
更多信息可以在 微軟的文檔 中找到。
原生模塊(在 Node.js 中也稱為 addon)是用C/C++寫成的,可以在 Node.js 中加載,或通過 require() 函數(shù)在 Electron 中引入的模塊。這些模塊用起來與普通的Node.js模塊并無二致。 它主要用于橋接在 JavaScript 上運行 Node.js 和 C/C++ 的庫。
Electron 支持原生的 Node 模塊,但是 Electron 非??赡苁褂昧撕湍阆到y(tǒng)中安裝的Node所不一樣的 V8 版本,所以在構(gòu)建原生模塊的時候你需要手動指定 Electron 所使用的頭文件的位置。
公證是一個特定于 macOS 的過程,開發(fā)人員可以在其中將經(jīng)過代碼簽名的應(yīng)用發(fā)送到 Apple 服務(wù)器,以便通過自動化服務(wù)查驗惡意組件。
OSR(離屏渲染) 可以讓您在后臺渲染大型頁面,之后再將其顯示到屏幕上(這種方式更快)。 這使您不必將頁面顯示到屏幕上也可以渲染它。
預(yù)加載腳本包含在渲染器進程中, 里面的代碼在其網(wǎng)頁內(nèi)容加載之前執(zhí)行。 這些腳本雖運行于渲染器的環(huán)境中,卻因能訪問 Node.js API 而擁有了更多的權(quán)限。
一個進程是計算機程序執(zhí)行中的一個實例。 Electron 應(yīng)用同時使用了 main 進程和一個或者多個 renderer 進程來運行多個程序。
在 Node.js 和 Electron 里面,每個運行的進程包含一個 ?process
? 對象。 這個對象作為一個全局的提供當(dāng)前進程的相關(guān)信息和操作方法。 作為一個全局變量,它在應(yīng)用內(nèi)能夠不用 require() 來隨時取到。
渲染進程是應(yīng)用中的瀏覽器窗口。 與主進程不同,渲染進程可能同時存在多個,同時,每一個渲染進程都運行與獨立的進程中。 渲染進程也可以隱藏。
沙盒是一個從Chromium繼承下來的安全功能,它將你的渲染過程限制在一組有限的權(quán)限。
Squirrel 是一個開源框架, 能夠讓 Electron 應(yīng)用程序自動更新到最新發(fā)布的版本。
"userland" 或者 "userspace" 術(shù)語起源于 Unix 社區(qū),當(dāng)程序運行在操作系統(tǒng)內(nèi)核之外。 最近這個術(shù)語被推廣到 Node 和 npm 社區(qū),用于區(qū)分 "Node 內(nèi)核"功能與在 npm 上注冊的"用戶" 們所發(fā)布的包的功能。
就像 Node ,Electron 致力于使用較小的API集來支持開發(fā)跨平臺應(yīng)用所必需的原語。 這個設(shè)計理念讓 Electron 能夠保持靈活而不被過多的規(guī)定有關(guān)于如何應(yīng)該被使用。 Userland 讓用戶能夠創(chuàng)造和分享一些工具來提額外的功能在這個能夠使用的 "core(核心)"之上。
實用程序進程是主進程的子進程,它允許運行任何不能在主進程中運行的不受信任的服務(wù)。 Chromium 使用此進程執(zhí)行網(wǎng)絡(luò) I/O、音頻/視頻處理、設(shè)備輸入等。在 Electron 中,您可以使用 UtilityProcess API 創(chuàng)建此進程。
V8 是谷歌開源的 JavaScript 引擎。 它是用 C++ 編寫的,用于谷歌的 Chrome 瀏覽器。 V8 可以單獨運行,也可以嵌入任何 C++ 應(yīng)用程序。
Electron將 V8 作為Chromium的一個部分進行構(gòu)建,然后在構(gòu)建Node時也指向那個 V8
V8 的版本號與谷歌 Chrome 的版本號對應(yīng)。 Chrome 59 的 V8 版本是 5.9,Chrome 58 的V8 版本是 5.8,以此類推。
webview
標(biāo)簽頁用于在您的 Electron 應(yīng)用中嵌入“訪客”內(nèi)容(例如外部網(wǎng)頁)。 其功能與 iframe
類似,但 webview 運行于獨立的進程中。 作為頁面它擁有不一樣的權(quán)限并且所有的嵌入的內(nèi)容和你應(yīng)用之間的交互都將是異步的。 這將保證你的應(yīng)用對于嵌入的內(nèi)容的安全性。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: