SDK Design and Publishing For Kotlin Multiplatform Mobile
summary
Covers concrete KMP/KMM choices: use simple interface injection when possible, otherwise use C interop with headers and explicit linking, note linker failures show as undefined symbols. Discusses packaging options — CocoaPods, Carthage, SPM — and tradeoffs for apps vs libraries. Shows static vs dynamic framework linking differences, testing workarounds, and real outcomes (removing public classes cut a framework’s binary by ~20%). Mentions tooling like CKLib and a Kermit logging integration.
AI-written summary · about
chapters (18)
- 0:00Introduction and speaker intro
- 1:52Why integrate native SDKs
- 2:35Simple approach: pass in native code
- 4:22C interop basics and setup
- 6:54Obtaining header files for C interop
- 9:00CocoaPods dependency management
- 12:51Linking basics and framework types
- 16:24Static vs dynamic framework linking
- 18:29CKlib library for binary distribution
- 19:53Testing native integrations
- 21:41API design principles
- 23:24Expect actual vs interfaces
- 25:12Handling complex object graphs
- 26:37Platform affinity in library design
- 28:03Parallel delegates technique
- 29:27Firestore KMP implementation
- 30:53Platform-specific initialization
- 31:57Summary and call to action
related talks
45mSDK Design and Publishing For Kotlin Multiplatform Mobile
29mKMP for Mobile Developers
34mKMM survival guide: how to tackle everyday struggles between Kotlin and Swift
36mWriting Kotlin Multiplatform libraries that your iOS teammates are gonna love
19mBuilding Bridges with Kotlin Multiplatform Mobile (KMM): How we added KMM to our established App
46mKotlin Multiplatform Mobile for Teams
35mThe Art of KMP: what you need to know as a multiplatform developer
37mKotlin Multiplatform Library Development
