Once the domain extraction is done the shell is an adapter, and the Electron question can be answered with numbers instead of opinions. Electron 43 today: roughly 150 to 200 MB installed, a full Chromium per app, four Node workers plus a bundled 7-Zip binary per platform.
The two serious candidates:
- Tauri v2 keeps the React renderer, replaces Node and Chromium with the system webview and a Rust backend. Around 10 to 15 MB installed, memory divided by three or four. Cost: rewriting the ~2 900 lines of src/ipc + src/main in Rust, and a team learning Rust.
- Avalonia (C#/.NET) puts the launcher in the same language as the game and its mods, native UI, very testable headless. Cost: the ~7 900 lines of renderer are redone.
Before deciding, measure on a one-screen prototype of each: installed size, idle memory, cold start, and the real porting cost. The stages 1 to 4 work carries over intact either way. This is a team decision.
Once the domain extraction is done the shell is an adapter, and the Electron question can be answered with numbers instead of opinions. Electron 43 today: roughly 150 to 200 MB installed, a full Chromium per app, four Node workers plus a bundled 7-Zip binary per platform.
The two serious candidates:
Before deciding, measure on a one-screen prototype of each: installed size, idle memory, cold start, and the real porting cost. The stages 1 to 4 work carries over intact either way. This is a team decision.