Distinct & accurate slide deck about Electron as a framework for creating native desktop applications from *instinctools frontend developer Andrew Zhemojtel.
39. Communication between processes
Electron has several ways to communicate between the main process and renderer processes. Like
ipcRenderer and ipcMain modules for sending messages, and the remote module for RPC style
communication.
• ipcRenderer - renderer process
• ipcMain - main process
• remote - renderer process
46. Electron API
• Accelerator
• Global Shortcut
• Dialog
• Menu
• Tray
• Desktop Capturer
• Shell
More on http://electron.atom.io/docs
47. Native Node Modules
# npm install --save-dev electron-rebuild
// every time after install native module
# ./node_modules/.bin/electron-rebuild
48. Debuging Electron App
• Electron includes default Chrome DevTools Extension.
• Add DevTools Extension
• Debug main process (--debug=[port]; --debug-brk=[port])
• Devtron (IPC monitor; Event inspector; App Linter; Require graph)
49. Testing Electron App
Spectron – Electron Testing Framework built on ChromeDriver and WebDriverIO
• Full list Chromium and Electron APIs
• Interact with and verify the behavior of multiple windows from a single test.
• Can be used with any testing library like Mocha, Jasmine, AVA, Chai
51. Electron vs nw.js
• Entry of Application: js vs html
• Build System: libchromiumcontent vs Chromium
• Node Integration: node_bindings vs patching Chromium
• Context: Multi-context vs Single-context
http://tangiblejs.com/posts/nw-js-and-electron-compared-2016-edition