DEV Community

Cover image for 20 Native macOS Apps That Replaced My Electron Bloat for Good
Mohsen Karimi
Mohsen Karimi

Posted on

20 Native macOS Apps That Replaced My Electron Bloat for Good

I opened Activity Monitor last year on a Thursday afternoon, just to check something quick. Slack was sitting at 780MB. Discord was at 410MB. Notion was at 490MB. Spotify was lurking at 280MB. I had four apps open — and they'd already consumed nearly 2GB of RAM before I'd written a single line of code.

My MacBook Pro fan was humming like it was rendering a film. The battery had dropped 18% in under an hour of light use. I hadn't even opened Xcode yet.

That was the moment I started paying attention to what these apps were actually built with — and more importantly, what I could replace them with.


What's Electron, and Why Should You Care?

Electron is a framework that lets developers build desktop apps using web technologies — HTML, CSS, and JavaScript. It bundles a full copy of Chromium and Node.js inside every app. That's the same engine powering Google Chrome, packaged and shipped as part of your "desktop" app.

The appeal is obvious: write once, ship everywhere. One codebase for macOS, Windows, and Linux. Faster time to market. Larger hiring pool. No need to learn Swift or AppKit.

But the user pays for that convenience every single day.

When you open Slack, you're not launching a Mac app. You're launching a browser. When you open Discord, you're launching another browser. Notion? Another browser. Each one is a separate Chromium instance, each one managing its own memory heap, its own JavaScript runtime, its own rendering pipeline.

Open five of these and you've got five browsers running simultaneously — whether you're using them or not.


The 1Password Moment

If you want a single story that captures how Mac users feel about Electron, look no further than 1Password 8.

1Password 7 was native macOS. It was fast, lightweight, integrated beautifully with the system. It respected your Mac. When version 8 launched in 2021, the team had rewritten it in Rust for the backend — which sounds good — but the UI was now built with Electron.

The response was volcanic.

The App Store reviews tanked. Reddit threads ran for hundreds of comments. Long-time users who'd paid for the app for years called it a betrayal. "It feels like a web app," was the most common complaint. "It's slow to open. It's slow to fill passwords. It doesn't feel like my Mac anymore."

Some users refused to upgrade and stayed on version 7 indefinitely. Others switched to Strongbox or migrated to Bitwarden entirely.

1Password didn't do anything malicious. Their engineering reasons were sound. But the community reaction revealed something important: Mac users notice. They feel the difference between something built for their platform and something that merely runs on it.


The Real Cost — By the Numbers

Let me be concrete about what Electron costs you.

Memory

A typical Electron app carries at minimum ~100MB of overhead just for Chromium, before your app does anything. In practice:

  • Slack routinely sits between 400–800MB, depending on how many workspaces you have open
  • Discord runs 300–500MB with GPU processes that stay active even when the window is hidden
  • Notion starts around 250MB and climbs as you open more pages
  • VS Code runs 200–400MB — better than most, but still heavy for a text editor
  • Spotify uses CEF (Chromium Embedded Framework — Electron's cousin) and hovers around 200–350MB

Compare that to native apps. Reeder — a full-featured RSS reader — uses around 40MB. Tot — a scratchpad utility — runs at under 20MB. Mimestream — a Gmail client rebuilt natively for Mac — sits around 80MB.

Battery

This is the one people feel most viscerally but track least often. Electron apps use more CPU because JavaScript is constantly being executed — event loops, garbage collection, re-renders. Native apps written in Swift compile down to machine code and can use Apple's energy-efficient frameworks properly.

On Apple Silicon Macs, the gap is even more visible. Apps that are properly optimized for M-series chips via native frameworks can use the efficiency cores intelligently. Electron can't do that. It runs on Chrome's rendering engine, which wasn't designed with Apple's power management in mind.

Disk Space

Every Electron app ships with its own copy of Chromium. That's roughly 100–200MB of duplicated engine, per app. If you have Slack, Discord, Notion, VS Code, and Figma installed, you have five copies of essentially the same browser sitting on your drive.

Slack's installer is over 200MB. Discord is around 100MB. Meanwhile, IINA — a full-featured video player that handles every format — is under 50MB.


App by App: What I Replaced and What I Used Instead

Here's where I'll stop being theoretical and get practical.

Slack → Mimestream (for email) + the actual Slack app, used ruthlessly

There's no great native Slack client. That's the honest answer. The best thing you can do is limit Slack to one workspace, disable it from auto-launching at startup, and quit it when you're in focus mode. But if your team uses email heavily, Mimestream is what a native Gmail client looks like when it's done right — built in Swift, fast, integrates with macOS like it belongs there.

VS Code → Zed

This one is the most impactful switch I've made.

Zed is a code editor built from scratch in Rust, with a GPU-rendered UI. It opens instantly. It handles large files without choking. It feels like what VS Code would be if it had been built natively for modern hardware. The extensions ecosystem is still catching up, but for most day-to-day work, Zed is faster in every measurable way.

Startup time: VS Code takes 3–6 seconds cold. Zed opens in under a second. That gap is entirely the cost of loading Electron and the Node.js runtime before your editor even starts.

If you're on a project that truly requires a specific VS Code extension that doesn't exist in Zed, keep VS Code for that context. But try Zed for a week and you'll notice the difference in your wrists and your attention span.

Notion → Craft

Craft is the native Notion. Built in Swift, it loads in a blink, supports offline mode properly, integrates with Spotlight, Quick Look, and the Share Sheet. It feels like a macOS app instead of a web app that forgot to remove the browser chrome.

If you're a heavy Notion user with complex databases and integrations, switching fully isn't realistic. But for personal notes, documents, and writing — Craft is in a different class.

Spotify → it's complicated

There's no perfect native Spotify client for Mac. Vinyls is a menu bar app that controls Spotify playback natively and stays out of your way. It's not a full replacement, but it means you don't need Spotify's Electron app open and visible — just Vinyls sitting in your menu bar.

If you're willing to step off Spotify entirely, the Music app on macOS is genuinely good for local libraries, and Apple Music's native client is... well, native.

Discord → Native clients exist, with caveats

Discordo is a terminal-based Discord client. Ripcord was a promising native client but has been in slow development. The honest reality here is that Discord's API is locked down enough that third-party clients are difficult to build and maintain.

The pragmatic fix: keep Discord but configure it to quit completely when closed (not just minimize to the menu bar), and only open it when you actually need it. The damage Discord does is mostly from running continuously in the background.

1Password 8 → Strongbox or stay on 1Password 7

If you're still on 1Password 7 and it's working, stay there. The app is still functional and perfectly secure.

If you need to move, Strongbox is a native password manager that uses the KeePass format, supports Face ID/Touch ID, and is genuinely pleasant to use. It feels like it was made for your Mac — because it was.


Apps That Prove Native Still Wins

Beyond replacements for Electron apps, there are apps that never touched Electron in the first place and are better for it. These are the apps I point people to when they ask what good Mac software looks like.

Rectangle — Window management via keyboard shortcuts. Free, open source, 40MB, works every time.

IINA — Video player. Handles MKV, AVI, HEVC, everything. Beautiful native UI. Under 50MB.

Maccy — Clipboard manager. Menu bar. Open source. Uses almost no memory. Does exactly one thing and does it perfectly.

Proxyman — If you do web development, Proxyman is a native HTTP debugging proxy that makes Charles Proxy look ancient. It's fast, it's beautiful, and it's genuinely useful.

Reeder — RSS reader that respects your eyes and your RAM. One of the best-designed Mac apps available.

Tot — A scratchpad that lives in your menu bar. Seven slots, each a different color. It's tiny, instant, and I use it every day.


When Electron Is Actually Fine

I want to be fair here, because the "Electron bad" take can become its own kind of dogma.

VS Code is Electron and it's transformed how millions of people write code. The extension ecosystem is unmatched. For many developers, no native alternative comes close in breadth of features.

Figma is Electron (and now web-first), and it changed the design industry. Nothing native competes with it at scale.

Linear — the project management tool — is Electron, and it's one of the best-designed apps I've ever used, native or otherwise. The team has clearly worked hard to make it feel fast despite the underlying framework.

The problem isn't Electron itself. The problem is teams that use Electron as a shortcut to avoid caring about performance. The best Electron apps are built by teams that fight against the framework's defaults. The worst ones just ship whatever Chrome renders and call it done.


Why This Matters More Now

On Apple Silicon Macs, native apps have never been better or more differentiated. The frameworks — SwiftUI, AppKit, Metal — are mature and powerful. Apps that are built natively can use the efficiency cores, integrate with Continuity features, respond to system-level events, and generally behave like they belong on the platform.

Electron apps run through Rosetta or via x86 compatibility layers, or they get compiled to Apple Silicon but still carry all the overhead of Chromium's rendering engine. The gap in battery life and responsiveness between a well-built native app and its Electron equivalent is larger on Apple Silicon than it was on Intel. The bar has moved, and Electron apps haven't kept up.


The Full List

If you want to explore more native macOS apps — across every category, with new additions regularly — I maintain an open list on GitHub:

awesome-native-macosx-apps

It covers everything from developer tools to video players to window managers, with a focus on apps that feel like they belong on macOS.

670+ developers have starred it. Pull requests welcome.


What's an Electron app you've successfully replaced? I'd genuinely like to know — drop it in the comments.

Top comments (0)