Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

Electron: desktopové aplikace webovými technologiemi

28. 07. 2015 2 min čtení CORE SYSTEMSdevelopment

GitHub Electron (dříve Atom Shell) umožňuje vytvářet cross-platform desktopové aplikace v HTML, CSS a JavaScriptu. VS Code, Slack i Atom — všechny běží na Electronu.

Web technologie na desktopu

Electron kombinuje Chromium renderer s Node.js runtime. Výsledek? Plnohodnotná desktopová aplikace s přístupem k file systému, systémovým notifikacím, nativním menu a tray ikonám — vše v JavaScriptu.

GitHub vyvinul Electron pro svůj editor Atom a následně ho open-sourcoval. Dnes na Electronu běží VS Code, Slack, Discord, WhatsApp Desktop a stovky dalších aplikací.

Architektura: Main a Renderer process

Electron má dva typy procesů:

// 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 — spravuje okna, systémové interakce, lifecycle aplikace. Jeden per aplikace.

Renderer process — každé okno je separátní Chromium renderer. Může používat Node.js API přes IPC komunikaci s main procesem.

Výhody a kritika

Výhody Electronu jsou zřejmé:

  • Jeden kód pro Windows, macOS a Linux
  • Obrovský ekosystém npm balíčků
  • Rychlý prototyping — web vývojář zvládne desktop app
  • Chromium DevTools pro debugging

Kritika je také oprávněná:

  • Vysoká spotřeba RAM (každá app = Chromium instance)
  • Velká velikost distribuce (~100MB minimum)
  • Pomalejší start oproti nativním aplikacím
  • Nekonzistentní look & feel s platformou

Distribuce a aktualizace

Electron poskytuje nástroje pro profesionální distribuci:

  • electron-packager** — zabalení do platform-specific binárky
  • electron-builder** — instalátory pro Windows (NSIS), macOS (DMG), Linux (deb/rpm)
  • autoUpdater** — automatické aktualizace (Squirrel framework)
  • Code signing pro důvěryhodnou distribuci

Závěr: pragmatická volba

Electron není ideální pro každou desktopovou aplikaci, ale je pragmatická volba pro týmy s webovými zkušenostmi. Pokud vaše aplikace nevyžaduje extrémní výkon nebo minimální footprint, Electron vám ušetří měsíce vývoje oproti nativním alternativám.

electrondesktopcross-platformnode.jsjavascriptchromium