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.
©2017, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org