Windows, macOS, Linux. Big screens, real keyboards, multi-window workflows, and full filesystem access. Less hyped than mobile but still where most "professional" software lives.
← Back to Client Side| Toolkit | Language | Approach | Sweet spot |
|---|---|---|---|
| Electron | JS / TS | Chromium + Node | VS Code, Slack, Figma desktop. Largest ecosystem; biggest binaries. |
| Tauri | Rust + JS | OS WebView + Rust backend | Modern Electron alternative. ~10× smaller, much less RAM. |
| WinUI 3 / WPF / WinForms | C# / .NET | Native Windows | First-class Windows apps; deep OS integration. |
| SwiftUI / AppKit | Swift | Native macOS | Native Mac apps; Catalyst brings iOS apps over. |
| Qt | C++ / QML | Cross-platform native | Industrial / scientific / automotive UIs. |
| JavaFX / Compose Multiplatform | Java / Kotlin | JVM cross-platform | Existing JVM teams; line-of-business apps. |
| Flutter Desktop | Dart | Own renderer | One codebase from mobile to desktop. |
| GTK / Qt on Linux | C / C++ / Rust | Native Linux | GNOME and KDE applications. |
| — | Electron | Tauri |
|---|---|---|
| Browser engine | Bundled Chromium | OS WebView (WebView2 / WebKit) |
| Backend language | Node.js | Rust |
| Binary size | ~120–200 MB | ~5–15 MB |
| RAM baseline | ~150–250 MB | ~30–80 MB |
| Browser consistency | Identical everywhere | Differs per OS WebView |
| Maturity | Powers VS Code, Slack, Discord | 1.x stable, fast-growing |
%APPDATA% (Windows), ~/Library/Application Support (macOS), ~/.config (Linux XDG).myapp://), drag-and-drop, clipboard formats — all platform-specific APIs.Electron — battle-tested, every problem already solved on Stack Overflow.
Tauri — same web frontend, much smaller and lighter.
SwiftUI / AppKit — best-in-class feel, Catalyst brings it to iPad.
WinUI 3 or WPF — deep OS integration, enterprise deployment via MSIX.
Compose Multiplatform or JavaFX.
Qt — proven for decades, especially in scientific / industrial software.