Schema einer Electron-Anwendung: Ein Fenster enthält den Renderer-Prozess mit dem mitgelieferten Chromium-Browser für die Oberfläche. Daneben steht der Hauptprozess mit Node.js, der auf Dateisystem und Betriebssystem zugreift. Ein Pfeil zwischen beiden Prozessen kennzeichnet den Nachrichtenaustausch.

Electron

Electron is a toolkit that lets developers build programs for Windows, macOS, and Linux using the same techniques as websites. Every Electron application brings along a complete browser to do this, which greatly speeds up development but costs a lot of memory.

Electron is a toolkit used to build programs for the computer. What’s special about it: you use the same techniques as for a website. The visible part of such a program is therefore basically a website. It just doesn’t run in the browser, but in its own window with its own icon in the start menu. For the user, it looks like a completely normal program. Well-known examples are the chat service Slack, the code editor Visual Studio Code, and the note-taking app Notion.

One program, three operating systems

In the past, a company had to write its program three times if it was supposed to run everywhere. Once for Windows, once for Apple's macOS, once for Linux. Each of these versions required its own specialists and its own maintenance. Bugs had to be found three times and fixed three times. That was expensive and slow.

Electron solves this problem by creating all three versions from the same source code. A small team can thus offer an application for all common systems. On top of that: there are very many web developers. A company finds it easier to find someone who can program websites than someone who is familiar with the peculiarities of macOS. That’s why, since its release in 2013, Electron has become the standard for many corporate products.

The price for this is computing power. Electron programs are considered sluggish and memory-hungry. In forums, this is a recurring topic, and some companies now explicitly advertise that their software does without Electron. The decision for Electron is therefore always a trade-off between development speed and frugality.

A built-in browser in every app

Electron bundles two ready-made building blocks. The first is Chromium, the open core of the Google Chrome browser. It draws everything you see: buttons, text, menus. The second is Node.js, an environment in which the programming language JavaScript can also run outside a browser. Node.js takes over the tasks that a website is normally not allowed to do, such as reading or saving files on the hard drive.

An Electron application therefore consists of two separate parts. The main process manages windows, menus, and access to the system. The renderer process displays the interface and behaves like a browser tab. Both exchange messages when, for example, a click on 'Save' is supposed to lead to an actual file. This separation also has security reasons: the interface part is not supposed to be able to access the hard drive unchecked.

The decisive point is that every Electron app brings its own copy of Chromium along. It doesn’t rely on the browser that’s installed anyway. As a result, the application runs exactly the same everywhere. At the same time, this explains the size: a simple note-taking app can easily take up 150 megabytes. And anyone who has three Electron programs open at the same time effectively has three browsers running.

Software you use every day

Many well-known desktop programs are Electron applications without you noticing. The chat service Discord is one of them, as are Slack, Signal for the computer, and the widely used programming editor Visual Studio Code from Microsoft. WhatsApp Desktop and parts of Spotify also rely on similar technology. If a program looks strikingly just like its website, Electron is often behind it.

In news reports, the term usually appears in connection with criticism. Then it’s about programs that take up several gigabytes of memory or drain a laptop’s battery quickly. As a countermovement, alternatives such as Tauri have emerged. These use the browser that’s already present in the operating system, and thus get by with significantly less storage space.

A common misunderstanding: Electron is not a programming language and not artificial intelligence. It is purely a packaging technology for software. For AI topics, Electron is nevertheless relevant because many desktop programs from AI companies are built this way. When a chatbot provider releases an app for the computer, it is astonishingly often an Electron application.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.