設計 - sunfish-shogi/electron-shogi GitHub Wiki

Electron 将棋は Electron を使って作られています。 Electron で作られたアプリケーションは Node.js 上で動くメインプロセスと Chromium 上で動くレンダラープロセスから構成され、それらは互いにプロセス間通信(IPC)によって連携します。 Electron 将棋を構成する要素を簡略化して図示すると次のようになります。

図を Miro で開く

スクリーンショット (101)

メインプロセス側はファイルシステムや外部プロセス、 TCP などレンダラープロセス側ではできないことを担います。 一方でアプリケーション全体の状態の管理や制御、将棋のルールの実装などのほとんどはレンダラープロセスに実装されています。

レンダラープロセス側の IPC のインターフェース(図中の IPC 枠内の Bridge と書かれた箇所)は TypeScript の interface 型で定義されており、 Web 版では別の実装が使われるようになっています。