“Electron” is a name that can give even the most casual Mac users the jitters. It’s a way for developers to write their app once, and have it run on Windows, Mac, and in the web browser. But that’s because Electron apps are running in a browser, a Chromium-based browser disguised as an app. And now Agile Bits, the developer of 1Password, is ditching its official Mac app for Electron. That doesn’t sound so bad, so why are people so angry? “Thanks to the Chromium engine, with the Electron, apps are rendered as if they are running in a browser. However, this has a cost: high CPU and RAM usage compared to [officially supported] apps,” web-app developer Burak Özdemir told Lifewire via email.
More Electrons, More Problems
Özdemir hits right on the point. The biggest problem with Electron, from a practical point of view, is it consumes your computer’s resources. It runs a web browser, along with several extra supporting processes, for every Electron app you use. These browsers eat an absurd amount of your computer’s working memory, and also tax the CPU. In short, your computer will run hotter and use more power, thereby draining your battery faster. But perhaps you don’t care about that. Maybe you use a big, powerful desktop that’s always plugged into power, and you don’t care about wasting electricity. That brings us to the second—and perhaps more important—reason Mac users don’t like Electron. Every computer platform has a look and feel. On the Mac, dialog boxes all look the same. Keyboard shortcuts are consistent across apps, the ⌘ key brings up an app’s preferences window, and so on. Electron apps break this consistency, though they try not to—they translate notifications and menus into platform-relevant versions, but the overall design of the apps rarely follows platform conventions. This seems inevitable if you’re developing an app that runs on both Windows and macOS—you can’t fit in on both platforms. Worse, Electron apps often behave nothing like their built-in counterparts. The Slack Mac app, for example, does all kinds of weird stuff when you tap the arrow keys, or use standard system keyboard shortcuts to navigate inside your typed text. And there’s no standard preferences panel—you get a web page instead.
Why Developers Use It
Developers dig Electron because it’s less work. You only have to write the app once, and it works on every platform that supports Electron. That’s a significant boon when you’re building a startup. These days, the web, itself, is often the primary platform, with apps for Mac, Windows, or Linux in a distant third place after the iPhone, iPad, and Android. “Many developers will use Electron for Mac-based apps because the framework allows one to code the app once and deploy it on macOS,” network engineer Eric McGee told Lifewire via email. “This framework also provides for a rich user interface for the desktop apps built on it.” Electron development is also easy for folks who already make web apps. It uses the exact same technology—HTML, CSS, and JavaScript—so there’s no need to learn a new language, or hire new developers who know them.
iPhone First
So why isn’t Electron used on mobile, too? Developers might like that, and it would be one less job to do, but Electron just isn’t good enough. “[Electron] consumes a high amount of RAM, and requires an expansive amount of storage, which makes it a poor choice for iOS apps that need to be fast, lightweight, and place minimal pressure on RAM,” says McGee. The other reason is that Apple won’t allow it. Apple makes life difficult for developers to submit Electron apps to the Mac App Store, but it’s possible, and it’s also easy to just download the app and install it directly. On iOS, Apple doesn’t allow any apps to run their own web rendering engine. That is, apps can only use WebKit, which is what powers Safari. Even actual web browsers on iOS—Chrome, Firefox, Brave—all use WebKit instead of their own tech. That means you can’t run the Chromium back-end required by Electron apps, which, in turn, forces the developers to develop proper apps. Electron probably isn’t going anywhere—not while the web and mobile remain the primary platforms for services and apps. But that doesn’t mean you have to like Electron apps, or let them chug down your battery while uglying up your computer. Maybe stick with the officially supported apps where you can.