亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Electron初步【01】--主進(jìn)程VS渲染進(jìn)程&不同頁面間共享數(shù)據(jù)

Ajian / 3947人閱讀

摘要:主進(jìn)程渲染進(jìn)程主進(jìn)程在中,跑里的主腳本的進(jìn)程叫作主進(jìn)程。主進(jìn)程負(fù)責(zé)掌管所有的頁面和它們相應(yīng)的渲染進(jìn)程。不同頁面間共享數(shù)據(jù)非常簡單,使用就能完成。

Electron使用了網(wǎng)頁頁面作為App的GUI,因此你可以將它看做是一個由JavaScript控制的一個小型的Chrome內(nèi)核瀏覽器。

主進(jìn)程VS渲染進(jìn)程 主進(jìn)程

在Electron中,跑package.json里的主腳本的進(jìn)程叫作主進(jìn)程。在主進(jìn)程里跑的腳本可以通過創(chuàng)建web頁面的窗口來扮演GUI角色。

主進(jìn)程看起來就是一段腳本:

const electron = require("electron");
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;

var window = null;

app.on("ready", function() {
  window = new BrowserWindow({width: 800, height: 600});
  window.loadURL("https://github.com");
});
渲染進(jìn)程

正因?yàn)镋lectron使用了chrome內(nèi)核,才使得它多進(jìn)程的結(jié)構(gòu)也可以被我們使用。在Electron里的每個頁面都有它自己的進(jìn)程,叫作渲染進(jìn)程。

在普通的瀏覽器里,網(wǎng)頁頁面跑在一個沙盒環(huán)境下,不能接觸到native源碼。而Electron則允許你在頁面中使用Node.js的API,較低程度上的和操作系統(tǒng)進(jìn)行交互。

渲染進(jìn)程如同傳統(tǒng)的HTML,但它可以直接使用Node模塊:



  
  
  
主進(jìn)程和渲染進(jìn)程的不同

主進(jìn)程通過實(shí)例化BrowserWindow,每個BrowserWindow實(shí)例都在它自己的渲染進(jìn)程內(nèi)返回一個web頁面。當(dāng)BrowserWindow實(shí)例銷毀時,相應(yīng)的渲染進(jìn)程也會終止。

主進(jìn)程負(fù)責(zé)掌管所有的web頁面和它們相應(yīng)的渲染進(jìn)程。每個渲染進(jìn)程都是相互獨(dú)立的,它們只關(guān)心自己所運(yùn)行的web頁面。

在頁面(渲染進(jìn)程)中不允許調(diào)用原生GUI相關(guān)的API,那是因?yàn)樵诰W(wǎng)頁(渲染進(jìn)程)中中掌管原生GUI很危險,易造成內(nèi)存泄露。如果你想在網(wǎng)頁中進(jìn)行GUI的操作,渲染進(jìn)程必須向主進(jìn)程傳達(dá)請求,然后在主進(jìn)程中完成操作。

在Electron中,我們有幾種連接主進(jìn)程和渲染進(jìn)程的方法,例如用于傳送消息的ipcRendereripcMain模塊,以及用于RPC的remote模塊。

不同頁面間共享數(shù)據(jù)

非常簡單,使用HTML5 API就能完成。

Storage API,IndexedDB都是很好的選擇。

你還可以使用Electron中提供的IPC系統(tǒng)。它在主進(jìn)程中將一個對象儲存為全局變量,然后可以通過remote模塊操作它們:

// 在主進(jìn)程里
global.sharedObject = {
  someProperty: "default value"
};
// In page 1.
require("remote").getGlobal("sharedObject").someProperty = "new value";

// In page 2.
console.log(require("remote").getGlobal("sharedObject").someProperty);

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/79438.html

相關(guān)文章

  • Electron】酷家樂客戶端開發(fā)實(shí)踐分享 — 進(jìn)程通信

    摘要:為了能使不同的進(jìn)程互相訪問資源并進(jìn)行協(xié)調(diào)工作,才有了進(jìn)程間通信。此時,就需要與渲染進(jìn)程通信了。發(fā)消息,渲染進(jìn)程收消息內(nèi)部使用來發(fā)消息。 作者:鐘離,酷家樂PC客戶端負(fù)責(zé)人原文地址:https://webfe.kujiale.com/electron-ku-jia-le-ke-hu-duan-kai-fa-shi-jian-fen-xiang-jin-cheng-tong-xin/酷家...

    winterdawn 評論0 收藏0
  • Electron】酷家樂客戶端開發(fā)實(shí)踐分享 — 進(jìn)程通信

    摘要:為了能使不同的進(jìn)程互相訪問資源并進(jìn)行協(xié)調(diào)工作,才有了進(jìn)程間通信。此時,就需要與渲染進(jìn)程通信了。發(fā)消息,渲染進(jìn)程收消息內(nèi)部使用來發(fā)消息。 作者:鐘離,酷家樂PC客戶端負(fù)責(zé)人原文地址:https://webfe.kujiale.com/electron-ku-jia-le-ke-hu-duan-kai-fa-shi-jian-fen-xiang-jin-cheng-tong-xin/酷家...

    aervon 評論0 收藏0
  • Electron】酷家樂客戶端開發(fā)實(shí)踐分享 — 進(jìn)程通信

    摘要:為了能使不同的進(jìn)程互相訪問資源并進(jìn)行協(xié)調(diào)工作,才有了進(jìn)程間通信。此時,就需要與渲染進(jìn)程通信了。發(fā)消息,渲染進(jìn)程收消息內(nèi)部使用來發(fā)消息。 作者:鐘離,酷家樂PC客戶端負(fù)責(zé)人原文地址:https://webfe.kujiale.com/electron-ku-jia-le-ke-hu-duan-kai-fa-shi-jian-fen-xiang-jin-cheng-tong-xin/酷家...

    Wuv1Up 評論0 收藏0
  • XCel 項(xiàng)目總結(jié) - Electron 與 Vue 的性能優(yōu)化

    摘要:而這里的單元格信息是唯一的,所以直接通過為一個空對象賦值即可。和相關(guān)的知識和技巧高亮的列單元格采用展示。在中,被選中的單元格會高亮相應(yīng)的行和列,以提醒用戶。 showImg(https://segmentfault.com/img/bVGkdk?w=900&h=500); XCEL 是一個 Excel 數(shù)據(jù)清洗工具,其通過可視化的方式讓用戶輕松地對 Excel 數(shù)據(jù)進(jìn)行篩選。 XCEL...

    XUI 評論0 收藏0
  • 一口氣完成electron的入門學(xué)習(xí)

    摘要:目前類似的工具有,等。在渲染進(jìn)程中,直接調(diào)用原生的接口是十分危險的。這里介紹一種,通過和對象,以消息的方式進(jìn)行通信。主進(jìn)程獲得消息后,通過返回信息。另外,還提供了一種同步的消息傳遞方式。打包完成功能代碼后,我們需要將代碼打成可運(yùn)行的包。 介紹 目前,使用前端技術(shù)開發(fā)桌面應(yīng)用已經(jīng)越來越成熟,這使得前端同學(xué)也可以參與桌面應(yīng)用的開發(fā)。目前類似的工具有electron,NW.js等。這里我們著...

    Ethan815 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<