Electronを用いるとクロスプラットフォームな開発ができることは皆さんご存じの通りです。
しかし、ビルド→発行としていくなかで、それらの作業がすべて一つのプラットフォーム上で完結するというわけではありません。
また、ネイティブモジュールを利用する場合は、話が異なります。
そこらへんについて説明していこうと思います。
一つのプラットフォームですべてのプラットフォームにたいしてビルド・発行できるか
例えば「WindowsですべてのOS向けのアプリをビルドできるか?」という問題ですが、ネイティブモジュールの利用有無次第となります。
ネイティブモジュールを利用していない場合
ビルドはできます。
ただし、Mac向けの発行はCode Signingが必要になるため、Mac上でしかできません。
よって、Mac上で動かせば、ビルドから発行まですべてMac上で完結します。
Docker イメージ
electron-builderを動かせる環境として、Dockerイメージが用意されています。
しかし、これはLinux上で動かすのと同じなので、WindowsとLinux向けのアプリのビルド・発行しかできません。
また、Windows用のネイティブモジュールを利用する場合は、ビルドもできません。
ネイティブモジュールについては、次の節で説明します。
ネイティブモジュールを利用している場合
ネイティブモジュールは各OS向けにそれぞれビルドする必要があります。
よって、基本的にはターゲットとなるプラットフォームの数だけビルド環境を用意する必要があります。
Macのネイティブモジュールをビルドするなら、Mac。
WindowsならWindowsのビルド環境が必要です。
昨今は、Mac用のVMも用意されていることを考えると、用意することは難しいことではないかもしれませんが、開発に当たっては実機が必要になることに間違いはないでしょう。
ネイティブモジュールを使わずとも、多くの機能が実装できることは確かですが、いつかはぶち当たる問題になります。
必要になったらで良いとは思いますが、ネイティブモジュールとそれに伴うビルド・発行環境の用意を検討する必要があるでしょう。