learnprogramming.us
Is Electron Really That Bad? Debunking the Myths About Electron Desktop Apps
Excerpt
The pitch? Code once, ship everywhere. The trade-off? Electron apps are notorious for using more RAM than traditional "native" apps, since each one ships with its own copy of Chromium. Some users also report quirky behavior or performance issues on macOS, especially with heavy apps or when Apple changes system APIs. Despite these criticisms, Electron remains one of the most popular ways to create cross-platform desktop software quickly. … ... If you've read any forum threads or watched opinion videos, you've probably heard the same refrains: Electron is bloated, slow, or "not native." But do these criticisms hold water, or is Electron simply misunderstood? ... ## The Usual Complaints: Non-Native Feel, Performance, and Fragility The big gripes with Electron apps are pretty consistent: **Non-native look and feel:**Electron apps can feel different from platform-specific apps. UI controls may not match OS conventions, and behaviors can be subtly (or not so subtly) off. **JavaScript/Chromium overhead:**Each Electron app bundles a whole Chromium instance. This can mean higher memory and CPU usage, especially for basic tools. **Dynamic web pages:**Some teams ship Electron apps as essentially live web apps instead of self-contained binaries. This can make apps brittle, slower to load, and sometimes insecure. But let's be clear: these are potential issues, not guaranteed outcomes. Most "electron desktop app" complaints stem from bad examples, not the platform itself. ## The "Native" Decay: Why Native Apps Aren't What They Used to Be Ironically, many modern "native" macOS and Windows apps also feel cheap or clunky. UI polish, responsiveness, and platform integration have stagnated, and even Apple's own software often cuts corners. "Native" doesn't mean what it used to. ... ## Developer Quality Is the Real Problem Why do some Electron apps suck? Simple: bad development. Electron is easy to pick up, so inexperienced teams often use it and then ship subpar products. But this isn't Electron's fault—it's a people problem. The same team would build a lousy native app if that's what they used. Well-built Electron apps can be fast, polished, and indistinguishable from native—VS Code is the canonical "electron app example" proving the point. ... Electron is a powerful, pragmatic tool for building desktop software. The real problem isn't Electron, but how it's used. Complaints about performance, memory usage, and "non-nativeness" usually stem from rushed development or bad product decisions, not inherent technical flaws. If you care about "creating an electron app," focus on quality, testing, and user experience—just as you would with any stack.
Related Pain Points
Poor OS integration and missing platform features
7Electron apps don't integrate well with operating systems because they're essentially web browsers displaying local content. When Electron doesn't support specific OS features, apps using it also won't—for example, Discord lacks screen sharing on Wayland and doesn't support file portals on Flatpak.
Excessive memory and disk space consumption
7Electron apps bundle most of Chromium's codebase, making even basic Hello World applications ~100MB and real-world apps like Discord over 700MB. This excessive resource usage creates performance problems on systems with limited RAM.
Poor performance on macOS with heavy apps and API changes
6Electron apps exhibit quirky behavior and performance issues on macOS, particularly with heavy applications or when Apple changes system APIs, leading to instability and requiring additional maintenance effort.
Slow startup times and app brittleness from live web page deployment
6Some teams ship Electron apps as live web applications instead of self-contained binaries, resulting in slower load times, app brittleness, security risks, and poor offline functionality.