The state of Node.js on desktop GUI : Build + Ship + Maintain cross-platform Electron apps
by Arnav Gupta (@championswimmer) on Tuesday, 23 August 2016
- Full talk
- Technical level
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.
- 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
- 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
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.
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.