Look, if you're tired of Electron apps eating your RAM like a hungry hippo, Wails might be worth your time. It's a desktop app framework that lets you build apps with Go backends and web frontends, but without the Chrome-bundling bullshit that makes Electron apps so bloated.
Wails has been around since 2019 and sits at around 30k GitHub stars - decent traction in the Go community. The project is actively maintained, and they've been working on Wails v3 in alpha, which finally adds multi-window support (thank god).
How It Actually Works
Instead of shipping an entire Chrome browser with your app, Wails uses whatever webview is already on the user's system:
- Windows: WebView2 (Edge-based)
- macOS: WebKit
- Linux: WebKit via GTK
Your Go code handles the backend stuff - database connections, file I/O, system integration - while the frontend is just regular web tech. The magic happens at the boundary where Wails auto-generates TypeScript bindings for your Go structs, so you can call Go functions from JavaScript without the usual serialization dance.
Why You Might Give a Shit
File Size Reality Check: My last Wails app was 23MB. The same functionality in Electron would've been 150MB+. That's not theoretical - I actually built both versions to compare. The framework comparison data confirms this: Wails ~10MB vs Electron ~306MB for equivalent apps.
Memory Usage: A basic Wails app uses 40-80MB RAM versus Electron's 150-300MB baseline. Your users will thank you when their laptop fan isn't constantly spinning.
Development Speed: Once you get past Go's learning curve, the type-safe bindings are genuinely useful. No more wondering if that API call will work until runtime - if it compiles, the frontend/backend communication works.
But let's be honest about the downsides: you need to know Go, the ecosystem is smaller than Node.js, and debugging native crashes requires actual debugging skills, not just console.log spam.