DEV Community

The Practical Developer
The Practical Developer

Posted on Originally published at practicaldevblog.blogspot.com

Electron Explained: Desktop Apps Built With Web Technology

Introduction

Some of the most-used desktop apps — VS Code (the batch 17 post), Slack, Discord, Figma's desktop app — are not written in native desktop languages at all. They are web apps wrapped in Electron, GitHub's framework (released in 2013) that lets developers build desktop software with HTML, CSS, and JavaScript. One codebase, three operating systems, and a team that already knows web development: that combination explains Electron's spread, and its controversies.

Main process, renderer process, and the bridge between them

Electron apps have two kinds of process. The main process (one per app, running Node.js) owns the operating system side: windows, menus, file access, and system trays. Each window runs a renderer process — essentially a Chromium browser tab — that displays the HTML interface and runs the frontend code. The two talk through inter-process communication (IPC): the renderer asks ("open a file dialog"), the main process acts and replies. A minimal main-process file shows the shape:

const { app, BrowserWindow } = require("electron");
function createWindow() {
  const win = new BrowserWindow({ width: 800, height: 600 });
  win.loadFile("index.html");
}
app.whenReady().then(createWindow);
Enter fullscreen mode Exit fullscreen mode

That is the whole pattern: Node.js on one side, a browser window on the other, and web skills doing both jobs. Frameworks like React, Vue, or Svelte (all covered earlier) commonly power the renderer side, which is why web teams adopt Electron so easily.

The honest trade

Electron's trade is resource use: every Electron app ships its own Chromium and Node runtime, so apps are large downloads and heavier on memory than native apps — the classic complaint about Slack or Teams eating RAM. Startup is slower, and truly native feel (system animations, accessibility details) takes extra work. The rule of thumb: Electron when one web team must ship on Windows, macOS, and Linux quickly; native development (or lighter wrappers like Tauri) when performance, size, or platform feel matter most.

Takeaway

Electron builds desktop apps from web technology: a Node main process for the system side, Chromium renderer windows for the interface, and IPC between them. It trades leanness for reach — and that trade put web developers on the desktop.

Originally published at https://practicaldevblog.blogspot.com/2026/10/electron-explained-desktop-apps-built.html

Top comments (0)