Making Open Work
May 8–9, 2017: Training & Tutorials
May 10–11, 2017: Conference
Austin, TX

Native apps with web technologies using Electron

Brian Capouch (Saint Joseph's College)
2:35pm3:15pm Wednesday, May 10, 2017
Architecture
Location: Ballroom G
Level: Intermediate
Average rating: ****.
(4.50, 2 ratings)

Who is this presentation for?

  • Web developers, application programmers, and users of Electron applications

Prerequisite knowledge

  • Web development experience using modern full stack techniques (useful but not required)

What you'll learn

  • Learn basic Electron concepts
  • Understand how leveraging web development into the application space will be disruptive
  • Watch the steps of a simple Electron app in development
  • Explore projects and products based on this technology

Description

Electron, a GitHub project, represents a novel approach to native application development. It bundles together Node and the Chromium engine and leverages the combination in ways that enable each to enjoy the benefits of the other: you can wrap a modern GUI around a Node application, and you can add native-level capabilities to a web application to take advantage of local machine resources, working offline, etc. The platform has been chosen as the basis of a wide variety of interesting applications, including the Brave web browser, the Atom programming editor, N1 email client, and Slack collaboration tools.

Developing in Electron feels familiar to anyone who is doing web development in these days of ES6, webpack, and modern libraries and frameworks such as React and Angular. At the same time, Electron apps can access native operating system APIs as well as local file and database resources. A privileged master process coordinates any number of sandboxed renderer processes, each of which is responsible for one of the application’s windows. Shared IPC resources allow the main process to coordinate and facilitate communications with the set of renderers it controls.

Brian Capouch explains what Electron is all about and shares a simple application to illustrate its use. Brian demonstrates the basics of a technique for leveraging software development skills into the application realm by using languages, tools, and techniques that you are already familiar with. More traditional application developers will gain an appreciation of a technology that has a high potential for proving disruptive.

Photo of Brian Capouch

Brian Capouch

Saint Joseph's College

Brian Capouch is a longtime open source user, programmer, and hacker. In 2016, Brian retired from Saint Joseph’s, a small Indiana college, where he taught CS using 100% open source tools. He is heavily involved in a number of historical restoration projects. The modern web, full stack universal JavaScript, SPAs, and PWAs are his current passions.