Shaping Electron: We Get By With a Little Help From Our Friends
summary
Traces a single API call showOpenDialog from top-level JavaScript through Node.js require into process.electronBinding, into C++ bindings, into V8 objects via gin dictionaries, creating a native V8 promise and calling platform APIs (NSOpenPanel, GTK, IFileOpenDialog). Describes an actual migration away from process.binding to linked bindings around Node 12, shows how returned objects contain a boolean cancelled and file paths, and demonstrates a working dialog implementation that resolves a promise with those values.
AI-written summary · about
chapters (21)
- 0:00Introduction
- 0:49Overview
- 2:26Dependencies
- 3:41Dialogue
- 4:42Flow
- 6:06Platform Specific APIs
- 7:08Importing Modules
- 8:14Export Module
- 9:38Electron Binding
- 9:59How Electron Binding Works
- 11:22Linked Binding
- 13:10Electron v8
- 14:09initialize function
- 14:47gin helper
- 15:40gin dictionary
- 16:28set method
- 17:13native implementation
- 18:07platformspecific implementation
- 19:16enhanced gin dictionary
- 20:17resolving file paths
- 20:48conclusion
related talks
29mAPI Modernization: Building Bridges As You Cross Them
25mAPI Modernization: Building Bridges As You Cross Them
22mBuilding Desktop Applications with Node and Electron
33mElectron: A Tale of Two Processes
39mBuilding Desktop Applications with Electron
23mHow to Electron
26mNode on the Desktop: Building Apps with Electron v1
25mElectron: Desktop Apps with JavaScript
