Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Electron, Node, and the New Desktop @ SFNode

Nylas
March 03, 2016

Electron, Node, and the New Desktop @ SFNode

Javascript development has been traditionally confined to either web development or server-side development. But what if we could have the best of both worlds in one single Javascript environment? What if we could use the set of tools we know and love to build beautiful, cross-platform Mac, Linux, and Windows desktop applications?

For the past year at Nylas we’ve been using Node, Electron, and modern web technologies to build N1; a highly extensible desktop email client. In this talk we’ll explore how we’ve used these tools to build a whole new kind of desktop app, and peek inside some of the innards behind building an extensible email client while we discover the possibilities this new environment has to offer.

Nylas

March 03, 2016
Tweet

More Decks by Nylas

Other Decks in Technology

Transcript

  1. ???

  2. • New runtime environment for your javascript! • Access to

    all of Node’s APIs • Access to rich set of Electron APIs • Access to awesome rendering engine and all browser APIs
  3. Chromium Browser aka Backend aka Main Process C++ Renderer Renderer

    Renderer HTML / JS (DOM) HTML / JS (DOM) HTML / JS (DOM) ipc
  4. Browser aka Backend aka Main Process Renderer Renderer Renderer HTML

    / JS (DOM) HTML / JS (DOM) HTML / JS (DOM) ipc
  5. Perks of the New Desktop • Many typical front end

    concerns disappear • No cross-browser concerns • No JS bundling concerns • Access to latest APIs (Chrome and Node are bumped regularly) • Full File System access, robust local data storage
  6. Perks of the New Desktop • Native node modules •

    Full process control — do anything you can imagine with `child_process.spawn` • Lower entry barrier for desktop dev • Faster development, more versatile teams • Open Source