Electron-how-electron-works
Electronの仕組み
Electronは、_package.json_ファイルで定義されたメインファイルを取得して実行します。 このメインファイルは、レンダリングされたWebページとオペレーティングシステムのネイティブGUI(グラフィカルユーザーインターフェイス)との対話を含むアプリケーションウィンドウを作成します。
Electronを使用してアプリケーションを起動すると、*メインプロセス*が作成されます。 このメインプロセスは、オペレーティングシステムのネイティブGUIと対話する役割を果たします。 アプリケーションのGUIを作成します。
メインプロセスを開始するだけでは、アプリケーションのユーザーにアプリケーションウィンドウは提供されません。 これらは、_BrowserWindow_モジュールを使用して、メインファイルのメインプロセスによって作成されます。 各ブラウザウィンドウは、独自の*レンダラープロセス*を実行します。 レンダラープロセスは、通常のCSSファイル、JavaScriptファイル、画像などを参照するHTMLファイルを受け取ります。 それをウィンドウにレンダリングします。
メインプロセスは、Electronで直接利用可能なモジュールを介してネイティブGUIにアクセスできます。 デスクトップアプリケーションは、ファイルを処理するためのファイルシステムモジュール、HTTP呼び出しの要求など、すべてのNodeモジュールにアクセスできます。
メインプロセスとレンダラープロセスの違い
メインプロセスは、_BrowserWindow_インスタンスを作成してWebページを作成します。 各_BrowserWindow_インスタンスは、独自のレンダラープロセスでWebページを実行します。 _BrowserWindow_インスタンスが破棄されると、対応するレンダラープロセスも終了します。
メインプロセスは、すべてのWebページとそれに対応するレンダラープロセスを管理します。 各レンダラープロセスは分離されており、そこで実行されているWebページのみを考慮します。