What is Electron?

Electron is a framework that lets developers build desktop applications using web technologies like HTML, CSS, and JavaScript. It packages a tiny web browser (Chromium) and a Node.js runtime so the app can run on Windows, macOS, and Linux.

Let's break it down

  • Framework: a set of tools and libraries that make building something easier.
  • Desktop applications: programs you install and run on your computer, like a music player or a text editor.
  • Web technologies (HTML, CSS, JavaScript): the same languages used to create websites.
  • Chromium: the open-source engine behind Google Chrome; it renders the user interface.
  • Node.js: a JavaScript runtime that lets the app access the computer’s file system, network, etc.
  • Cross-platform: one codebase works on multiple operating systems without rewriting.

Why does it matter?

Because it lets web developers reuse the skills they already have to create full-featured desktop software, speeding up development and reducing the need to learn separate languages for each OS.

Where is it used?

  • Visual Studio Code - a popular code editor.
  • Slack desktop client - for team communication.
  • Discord - a chat app for gamers and communities.
  • WhatsApp Desktop - the desktop version of the messaging service.

Good things about it

  • Write once, run everywhere - one codebase works on Windows, macOS, and Linux.
  • Leverages existing web development talent and libraries.
  • Fast UI rendering thanks to Chromium’s modern engine.
  • Access to native OS features through Node.js modules.
  • Large community and many ready-made plugins.

Not-so-good things

  • Applications can be large (often 100 MB+) because they bundle a whole browser.
  • Higher memory and CPU usage compared to native apps.
  • Security concerns if the app loads remote content without proper sandboxing.
  • Updates to Chromium or Node.js may require rebuilding the app.