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.

Who this
training is for

This workshop works best for participants who want to turn knowledge into practical project decisions and code written in realistic conditions.

This training is for you if

  • you want to organize your knowledge and see how to apply it in day-to-day work
  • you work on applications or tools that need to stay readable, maintainable, and testable
  • you value practical exercises, trade-off discussions, and examples close to real projects

This is not the best choice if

  • you are looking only for a theoretical lecture without workshop practice
  • you need a very basic introduction to programming from scratch
  • you expect ready-made recipes without discussing context, constraints, and consequences

Trainer

Mateusz
Jabłoński

Senior Frontend Developer, trainer, and author of technical materials. Since 2016, I have been running training sessions on JavaScript, TypeScript, React, testing, and tools that support software developers.

14+years of experience
2016teaching since
4.7 / 5based on 143 responses
Get to know me

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.