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

Cross-Platform Desktop Apps with Electron - Jaz...

Cross-Platform Desktop Apps with Electron - JazzCon 2018

Would you like to leverage your web skills to build cross-platform desktop applications? Electron is an open-source solution designed to make building great desktop applications easy. In this talk, you will learn its features, how to quickly get started, and tips from my experience!

David Neal

March 23, 2018
Tweet

More Decks by David Neal

Other Decks in Programming

Transcript

  1. .NET + Mono + Xamarin Pros: • Shared .NET code

    base Cons: • Xamarin Mac !== Xamarin iOS/Android • Native UI is hard • Deployment • Licensing
  2. Electron Pros: • HTML + CSS + JavaScript • Node.js

    + Chromium • No deployment dependencies
  3. History • Created by GitHub for Atom • Formerly Atom

    Shell • Active since January 2013 • 1.0 release May 2016 • Current: 1.8.4 March 16th • 2.0 Beta
  4. Electron Features • Rapid development • Themes • Shared code/UI

    • Deployment + “silent” updates • Native UX
  5. Why Desktop Apps? • Offline • Printers, devices, other local

    hardware • On-premises • Internal, LOB • Edit local files • App Store • Kiosk • Desktop > Intranet • Sometimes it “just feels right”
  6. Desktop App Ideas • Disconnected data entry • Editor •

    Time management • Media player • Email client • Messaging, collaboration • Kiosk • Mapping, route planner • Social media client • Calendar • Bulk media editor • File management, backup • Document generation, reading • Audio/video conferencing • Games
  7. Process modules • app • ipc • dialog • menu,

    menu-item • power-monitor • tray
  8. Deploying Electron • Phase 1: Copy Files • Phase 2:

    Compile to App • Phase 3: Build Installer • Phase 4: Automatic Updates
  9. Tips • Use CSS default cursor • Keep windows open

    • Offload work to main over ipc