Electron Ain't Bad
4 points by synergy20 2 weeks ago | 3 comments- CreepGin 2 weeks agoAfter trying out Electron, Tauri, Dioxus, Flutter, and Wails, I’ve come to the conclusion that when it comes to desktop apps and UI, nothing really beats the combo of the JS ecosystem, Chromium, and V8. It's just very powerful and well-supported.
Experienced devs or teams can easily keep perf overhead to be under 15% compared to native. IMO it's a great trade-off for the amount of dev time you save.
That said, native still has its edge in:
- ultra-low input latency
- battery efficiency
- memory control (especially GPU)
- dagw 2 weeks agoAfter trying out Electron, Tauri, Dioxus, Flutter, and Wails
Have you come to any insights about which of the above you prefer in different situations?
- CreepGin 2 weeks agoSure, for a quick run down:
1) Use Electron if stability and having chromium and v8 is important to you (i.e. for WebGPU, etc.). It has the biggest community and set of existing apps made with it. Largest base app size (~100MB). But should be acceptable for most desktop apps unless you are making small utility apps.
2) Use Tauri if app size is important to you. It's like Electron but with a slimmer runtime and a Rust backend. Still uses IPC.
3) Use Dioxus if you already think in Rust and don't need any JS framework. Everything is in one Rust process. No IPC. Smallest app size (~5MB). It's still very new though. Tooling is less mature (still uses a lot of other 3rdparty stuff for packaging, etc). Community is smaller.
4) Flutter has the best mobile DevEx. Uses Dart.
5) Wails is great all-around. Best tooling and JS bridge, IMO. I'd recommend going for it if you already know Go.
* Tauri, Dioxus, and Wails all default to using OS's webview.
- CreepGin 2 weeks ago
- dagw 2 weeks ago