by Arnav Gupta (@championswimmer) on Tuesday, 23 August 2016

+2
Vote on this proposal
Status: Confirmed & Scheduled
View session in schedule
Section
Full talk

Technical level
Intermediate

Media

Abstract

This talk will deal with the cross-platform parts specifically of maintaing an Electron project. We’ll touch briefly on some common ground, as to how we can ship a complete server-client architecture (that you might be already hosting as a webserver + website solution) web stack into a single Electron project as a standalone, offline Desktop app. Then we’ll discuss the differences between the Linux, Mac and Windows platforms, and how an Electron developer can make best use of available cross-platform UI concepts, and build truly cohesive interfaces for all three platforms.

Outline

  • 5 min Electron quickstart
  • Over view of Chromium’s stack vis-a-vis Electron’s stack
  • Main Process vs Renderer Process
  • Bringing the server and the client together inside an Electron App (clipboard, shell and screen are shared)
  • OS-specific differences - Menus, Contexts, Lifecycles, Tray of desktop apps in Linux, Mac, Windows
  • Electron-debug
  • Packaging for all 3 platforms : electron-packager
  • Distributing installers for all 3 platforms : electron-builder
  • Make it auto-updatable for all 3 platforms : electron-updater
  • Popular Electron boilerplates to start from
  • Popular electron ui kits : photonkit, leankit, chrome-tabs, toolbar
  • A peek into future : A possibility of Electron Runtime Mode (like JRE) - Famous issue #673

Requirements

Node.js 5.x or above
Please install electron-prebuilt before coming, if you want to try anything out. It’s a 40mb download and might take time.

Speaker bio

Currently I teach Android Application Development at CodingBlocks, a programming bootcamp startup.
I have been a Developer and Device Maintainer at CyanogenMod and AOKP, building latest Android images for Sony Xperia devices
I have been a Open Source community partner with Sony Mobile for the last two years.
I am also an open source enthusiast with contributions to Linux, GNOME, Arduino, Android and other open source projects, and a Google Summer of Code alumnus.
I have been working at FOSSASIA developing an opensource event management system in Nodejs, with ticketing, conference organising, app and website generating and speaker funnel functionalities.
Have been a speaker at Mobile Developer Summit 2014, JsFoo 2015 and DroidCon 2014, 2015.