Electron From Scratch: Build Desktop Apps With JavaScript

Electron From Scratch: Build Desktop Apps With JavaScript

image description

What you will learn

  • Learn how to build desktop apps with Electron
  • Create and package 3 complete cross-platform applications
  • Use IPC to communicate between Main & Renderer Processes
  • Use Vanilla JS & React with Electron
  • Create custom menu items, system tray apps and more
  • Work with local data as well as MongoDB Atlas database


Section 1: Introduction

Section 2: Project 1 - Image Shrink App & Getting Started With Electron

Section 3: Working With The Menu

Section 4: Interface, IPC, ImageMin & Packaging

Section 5: Project 2 - SysTop App

Section 6: System Stats & Renderer Process

Section 7: Storing Local Data

Section 8: Tray Icon & Wrap Up

Section 9: Project 3 - BugLogger App & Creating The React UI

Section 10: Main Process, IPC & MongoDB

Course Description

Create 3 useful desktop applications with web technologies using Electron


  • JavaScript Fundamentals


This is a hands on, project based course on learning how to build and package cross-platform desktop applications using Electron. Many popular apps including VSCode, Slack and Skype are built on Electron.

We will build 3 apps

ImageShrink - An app to optimize images for websites

SystTop - RealTime CPU monitor with notifications and system tray

BugLogger - CRUD app to track logs which uses React and the MongoDB Atlas cloud database

Some stuff you will learn:

  • Create app windows with BrowserWindow
  • Create menus with custom items
  • Menu roles
  • Shell module to open files and folders
  • Create system tray icons with context menus
  • App events
  • Main process & Renderer process
  • Communication between processes with IPCMain & IPCRenderer
  • Packaging Electron apps
  • Creating log files
  • Interact with system hardware
  • Create a data store file with settings data
  • Integrate React with Electron
  • Integrate a MongoDB database with Mongoose
  • Some JavaScript stuff that you may not have known

Who this course is for:

  • Developers that want to build desktop apps with web technologies

+ See more