API Modernization: Building Bridges As You Cross Them
summary
Electron converts callback APIs to promises by adding a V8 wrapper in C++ so native code returns real promises, discovers an uncatchable native promise rejection bug from unsafe C++ type conversion, and removes a deprecated tray API on macOS Catalina leading to the removed tray method in v7. Dependency upgrades (Node, Chromium, V8) cause bundling mismatches, so planning version bundles and notifying users early with redundant context proves decisive for minimizing breaking changes.
AI-written summary · about
chapters (20)
- 0:00Introduction
- 1:06API Modernization
- 1:55Can modernization be universally understood
- 2:47Practical examples
- 3:49Electron overview
- 5:03API versioning
- 7:41App Gate
- 8:58Tree Module
- 10:23Platform Modernization Strategies
- 11:16Language Modernization
- 12:36Native Promises
- 13:21Track Progress
- 14:01Bugs
- 14:34Lessons Learned
- 15:18Dependency Modernization
- 15:53Upgrading Node
- 17:23Lessons
- 18:14Setting Expectations
- 18:59Optimal Communication
- 23:35Conclusion
related talks
29mAPI Modernization: Building Bridges As You Cross Them
22mShaping Electron: We Get By With a Little Help From Our Friends
29mMyles Borins - Keynote
33mPanel: The State of Node.js
53mA Walk Through Electron's Internals
37mWhat’s new in JavaScript
40mNode.js: Where are we now, where are we going?
32mFelix Rieseberg - SeattleJS Conference 2017
