Transcription
I built a real desktop app in Deno Desktop, a real-time system monitor. Build something like that in Electron and it ships 248 MB because every Electron app bundles a whole copy of Chromium, an entire browser inside it. That's the Chromium tax and you pay it on every single app you ship.
Deno Desktop makes a different bet. Your operating system already ships a browser engine. So, Web View 2 on Windows, WebKit on Mac and Linux. So, instead of bundling Chromium, Deno Desktop just borrows the one that's already there. Same app built with Deno Desktop, about 21 MB and the whole thing is basically one file.
In main.ts, deno.serve hosts your interface plus a /stats endpoint that returns JSON. deno.browserWindow opens a real native window pointed at it. There's even a bind call to expose a backend function straight to the frontend running in process. Too gorgeous, bit me.
You need the allow-sys permission for system access. Without it, no CPU or memory numbers. And set the node_modules directory to none. Or Deno will crawl your entire home folder hunting for packages.
Now, the receipt. My system monitor came out at 77 MB and compresses down to 21. Better Stack's own test put an Electron Node app at 248 MB versus 70 for Deno with a near tie on startup time. Much smaller on disk, basically the same to launch. And it's not a toy. Batteries are included. A system tray, native notifications, binary diff auto update patches, and cross compile to Mac, Windows, and Linux from one machine. With installers written in pure Rust.
But let's be fair. Deno isn't the only player here. Electron was stabilized about 4 months earlier and self-reports a roughly 14 MB starter. The honest catch, it's Mac and Linux only, no Windows at all. And Deno Desktop has its own catch. It's experimental, new in Deno 2.9. The APIs can still move. Non-framework apps need an explicit entry point, and you inherit each operating system's web view quirks.
So, which one wins for your next tiny app? Deno gives you Windows and cross-compile. Electrobun is smaller and was stable months earlier. I built a real one and measured all of it. The full breakdown is linked. Which one are you actually shipping?