Skip to content
Kubo, Ryosuke edited this page Aug 11, 2022 · 8 revisions

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

図を Miro で開く

electron-shogi-architecture

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

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

Clone this wiki locally