Join us for an Exclusive Workshop:


Steve Kinney
Steve Kinney
November 15, 2016 - 9:30am to 5:30pm Central US Time

Attend Online

Live and in Full HD

Join in Person

From Downtown Minneapolis, MN

You're Registered to Attend Online!

November 15, 2016 - 9:30am to 5:30pm Central US Time

This Workshop Is Currently Live

November 15, 2016 - 9:30am to 5:30pm Central US Time

This Workshop Has Already Concluded


Why You Should Join Us

By coding along with us in the Workshop, you'll:

  • Discover what Electron is, the technologies it is built upon, and how to work with it to build desktop applications with web technologies.
  • Discover how to manage Electron's multiple process architecture and facilitate communication between processes.
  • Discover how to take advantage of native operating system features on macOS, Windows, and Linux.
  • Discover how to build applications that live in the system's menubar or taskbar.
  • Discover how to debug and test Electron applications.

Your Instructor

Steve Kinney

Steve Kinney

Steve is a principal front-end engineer at SendGrid. He is the director emeritus and founder of the front-end engineering program at the Turing School for Software and Design in Denver, Colorado— a non-profit developer training program. Steve is currently writing Electron in Action for Manning Publications.

Spend the Day Immersed With an Electron Master

Workshop Details

We'll explore using Electron to build cross-platform desktop using web technologies that wouldn't otherwise be possible inside of the traditional browser environment. Electron is the underlying foundation for Github's Atom text editor, Microsoft's Visual Studio Code IDE, Slack's desktop applications, and many others.

Electron combines Chrome's content module with Node.js and allows developers full access to the filesystem and native OS APIs. We'll explore a mental model of how Electron applications are structure and dissect a number of small applications.

Daily Schedule

In this workshop, we'll learn a bit what exactly Electron is and how it works. We'll explore how to get started building an Electron application. Over the course of the workshop we'll build a few small applications that demonstrate features that wouldn't otherwise be possible in a traditional, browser-based web application.

We'll explore how to trigger native operating system dialogs as well as how to read and write from the file system. We'll build application menus and context menus that can be triggered with a right-click.

With our first, more traditional application in a good state, we'll work on creating an application that lives in the menubar or taskbar on macOS and Windows respectively. It will hook into the system pasteboard as well as the system's notification API. Finally, we'll talk about packaging and deploying applications for multiple operating systems.

  • 8:30AM
    Tech Check and Hello
  • 9:00AM
    What is Electron and How Does It Work?
  • 9:30AM
    Getting an Electron Application Off the Ground
  • 10:00AM
    Creating Dialogs
  • 10:30AM
    Working with the Filesystem and the 'shell' module
  • 11:30AM
    Building Menus
  • 12:00PM
    Lunch and Hacking
  • 1:00PM
    Getting Started with the menubar library
  • 1:30PM
    Working with the Clipboard
  • 2:30PM
    Debugging Electron Applications
  • 3:00PM
    Working with Notifications
  • 3:30PM
    Packaging and Deploying Electron Applications
  • 4:00PM
    Further Reading and Wrap-up

Interact with the Instructor - Online & In-Person

Get Your Questions Answered • Code Along with the Class • Classroom Format

Is This Workshop for Me?


This class is for JavaScript developers who are comfortable with both Node.js and the browser environment. This workship is not for people who aren't familiar with Node.js or basic DOM manipulation in the browser.

Event Details


One Full Day Workshop Session

Replay Videos (available immediately)


November 15, 2016 - 9:30am to 5:30pm Central US Time


Option 1: Attend online on our full HD live stream

Option 2: Attend in-person at HQ in Minneapolis, MN