API Modernization: Building Bridges As You Cross Them
summary
Electron overhauls several APIs: it converts callbacks to promises via v8 C++ wrappers and supports both styles for at least one major version while emitting deprecation warnings. A macOS change forces a breaking decision — it removes the tray highlight API in Electron 7 because NSStatusItem behavior changes. Dependency updates (Chromium, V8, Node) drive new features and occasional scramble — e g a Node timing issue during v6 — and a native promise migration surfaces an uncatchable rejection bug that required native fixes.
AI-written summary · about
chapters (18)
- 0:00Intro
- 1:43Software Modernization
- 3:19Modernization Goals
- 4:01Electron
- 6:21API Contract Breakage
- 7:06Semantic Versioning
- 8:11(Some) Types of Modernization
- 8:29Platform Modernization
- 13:20Language Modernization
- 14:27Language Updates
- 18:09Dependency Modernization
- 21:50Communication & Your End-Users
- 23:01Ensure Redundancy
- 24:00Communicate Early
- 24:57Provide Context
- 25:46Minimizing Churn
- 26:25When to NOT modernize?
- 27:37Wrapping Up
related talks
25mAPI Modernization: Building Bridges As You Cross Them
22mShaping Electron: We Get By With a Little Help From Our Friends
29mMyles Borins - Keynote
58mCross-Platform Desktop Apps with Electron
53mA Walk Through Electron's Internals
33mPanel: The State of Node.js
40mNode.js: Where are we now, where are we going?
32mFelix Rieseberg - SeattleJS Conference 2017
