_CORE
AI & Agentic Systems Core Information Systems Cloud & Platform Engineering Data Platform & Integration Security & Compliance QA, Testing & Observability IoT, Automation & Robotics Mobile & Digital Banking & Finance Insurance Public Administration Defense & Security Healthcare Energy & Utilities Telco & Media Manufacturing Logistics & E-commerce Retail & Loyalty
References Technologies Blog Know-how Tools
About Collaboration Careers
CS EN
Let's talk

Electron: desktop applications with web technologies

28. 07. 2015 2 min read CORE SYSTEMSdevelopment
Electron: desktop applications with web technologies

GitHub Electron (formerly Atom Shell) lets you build cross-platform desktop applications in HTML, CSS, and JavaScript. VS Code, Slack, and Atom — all run on Electron.

Web technologies on the desktop

Electron combines a Chromium renderer with a Node.js runtime. The result? A full-featured desktop application with access to the file system, system notifications, native menus, and tray icons — all in JavaScript.

GitHub developed Electron for its Atom editor and subsequently open-sourced it. Today, VS Code, Slack, Discord, WhatsApp Desktop, and hundreds of other applications run on Electron.

Architecture: Main and Renderer process

Electron has two types of processes:

// Main process (main.js)
const { app, BrowserWindow } = require('electron');

app.on('ready', () => {
  const win = new BrowserWindow({ width: 1200, height: 800 });
  win.loadURL('file://' + __dirname + '/index.html');
});

Main process — manages windows, system interactions, and the application lifecycle. One per application.

Renderer process — each window is a separate Chromium renderer. It can use Node.js APIs via IPC communication with the main process.

Advantages and criticism

The advantages of Electron are clear:

  • A single codebase for Windows, macOS, and Linux
  • A vast ecosystem of npm packages
  • Rapid prototyping — a web developer can build a desktop app
  • Chromium DevTools for debugging

The criticism is also valid:

  • High RAM consumption (every app = a Chromium instance)
  • Large distribution size (~100 MB minimum)
  • Slower startup compared to native applications
  • Inconsistent look & feel with the platform

Distribution and updates

Electron provides tools for professional distribution:

  • electron-packager — packaging into a platform-specific binary
  • electron-builder — installers for Windows (NSIS), macOS (DMG), Linux (deb/rpm)
  • autoUpdater — automatic updates (Squirrel framework)
  • Code signing for trusted distribution

Conclusion: a pragmatic choice

Electron is not ideal for every desktop application, but it is a pragmatic choice for teams with web experience. If your application does not require extreme performance or a minimal footprint, Electron will save you months of development compared to native alternatives.

electrondesktopcross-platformnode.jsjavascriptchromium
Share:

CORE SYSTEMS

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.

Need help with implementation?

Our experts can help with design, implementation, and operations. From architecture to production.

Contact us