Building desktop applications with ElectronJS

The workshop introduces participants to the world of creating desktop applications using web technologies. During a day of intensive work, participants will learn the architecture of ElectronJS, how to effectively combine Node.js logic with an interface created in HTML, CSS, and JavaScript, and develop their own application ready for compilation for various operating systems. The workshop focuses on practice: from basic IPC mechanisms, through window management, to security and distribution. The participant finishes the training with the ability to independently create and develop internal desktop tools, prototypes, and commercial applications.

Training program

Introduction

  1. What is ElectronJS and how it works under the hood (Chromium + Node.js).
  2. Examples of popular applications built with Electron.
  3. Application architecture: Main process vs Renderer process.
  4. IPC – inter-process communication.

Project structure and basics

  1. Environment setup, package.json, scripts.
  2. Creating windows, settings, preload scripts.
  3. Handling menus, keyboard shortcuts, and tray.

Integration with Node.js and the system

  1. Accessing the file system (fs).
  2. Handling dialogs (opening/saving files).
  3. Electron modules: clipboard, shell, notifications.

User interface

  1. Integrating Electron with front-end frameworks (React, Vue, Svelte).
  2. Styling: Tailwind, Material UI.

Application distribution

  1. Building applications (electron-builder, electron-packager).
  2. Creating installers (Windows, macOS, Linux).
  3. Application updates (auto-updater).

Advanced features and best practices

  1. Security in ElectronJS (contextIsolation, sandbox, preload).
  2. Memory management and performance.
  3. Common beginner mistakes and how to avoid them.
  4. Best resources for further learning and community.