Power of federated plugins in Flutter's ecosystem
summary
Explains why MissingPluginException happens (native code not compiled after hot reload) and shows the real-world URL Launcher split across three packages (platform interface + front-facing package + Android/iOS implementations). Covers platform reach (Android, iOS, web, macOS, Windows, Linux), endors vs non-endors implementations, Firebase Desktop reimplementations that work to add Linux/Windows, and recommends tools: plugin_platform_interface, Melos for monorepos and pigeon (used in Firebase Core) to generate safe platform channels. Discusses API design tradeoffs and when to centralize logic in Dart versus native.
AI-written summary · about
chapters (6)
- 0:00Introduction
- 1:53Packages vs plugins
- 7:37Federated plugins explained
- 13:00Non-endorsed plugins
- 16:32Writing federated plugins
- 22:59Q&A
related talks
55mOne Plugin, Six Platforms!
41mPlugins: Your Bridge to Native Code
15mFlutter lessons for federated plugin development
38mFlutter: A Path of Vines and Flowers
42mAddressing package ecosystem fragmentation
44mBuilding Pieces for Developers Our Journey with Flutter and Dart
49mFirst Flutter, then Fly: Build Reactive & Performant Cross-Platform Apps
28mSeamless Fusion: A Deep Dive into Flutter's Add-to-App Magic
