Free course

Electron Course

Learn to build secure desktop applications with Electron, Forge, BrowserWindow, preload scripts, IPC, local files, native menus, packaging, and signing.

6 modules · 36 lessons · No signup

Prerequisites: HTML, CSS, JavaScript and Node.js

~~~

Your progress

of lessons completed.

Course completed.

What you'll learn

Build, secure, package, and prepare a local-first desktop notes application for distribution on macOS, Windows, and Linux.

Take this course offline

Subscribe to my newsletter to get every free book and course in PDF and EPUB format.

Get the downloads

Course contents

  1. Foundations and setup

    Choose Electron deliberately and create a project with Electron Forge.

    1. What Electron is
    2. Decide if Electron fits the app
    3. Prepare the toolchain
    4. Create the Electron Forge project
    5. Read the generated project
    6. Check your understanding: foundations and setup
  2. Windows and the renderer

    Create a secure window and build the notes interface with browser JavaScript.

    1. Understand the process model
    2. Create the main window
    3. Handle the window lifecycle
    4. Build the notes interface
    5. Render notes safely
    6. Check your understanding: windows and renderer
  3. Preload and IPC

    Expose narrow desktop capabilities and validate every privileged request.

    1. Why the renderer is isolated
    2. Expose a preload API
    3. Handle two-way IPC
    4. Validate IPC input
    5. Finish renderer editing
    6. Check your understanding: preload and IPC
  4. Local data and native APIs

    Persist notes and add native dialogs, menus, and keyboard shortcuts.

    1. Choose the data location
    2. Read and write the notes file
    3. Connect persistence to IPC
    4. Export with a native dialog
    5. Add an application menu
    6. Check your understanding: local data and native APIs
  5. Security and quality

    Restrict renderer authority, test data behavior, debug, and update safely.

    1. Keep secure window defaults
    2. Restrict navigation and new windows
    3. Deny unused permissions
    4. Test the store and validator
    5. Debug and update deliberately
    6. Check your understanding: security and quality
  6. Package and ship

    Create distributables, add platform assets, sign releases, and plan updates.

    1. Set application metadata
    2. Package and make distributables
    3. Add application icons
    4. Sign the application
    5. Plan publishing and updates
    6. Final check: package and ship