~/talk

Level up Your SDKs With KMP - no rewrite required!

Talkat droidcon London 2024 · 2024-10-31..11-01· [kotlin]
slides:none on file

PubNub builds a Kotlin Multiplatform wrapper that delegates to existing native SDKs so one codebase publishes Kotlin, Swift and JS APIs; iOS integration uses CocoaPods + ObjC wrapper because Swift-only headers don’t bridge, JS requires handwritten externals after ts -> Kotlin tooling failed, and JVM/iOS/JS runtime mismatches (Longs, regex) force platform-specific implementations. Builds slow without target pruning, coroutines blow up JS bundle, but a common test suite finds runtime bugs and the Swift API ships while JS is still stabilizing.

AI-written summary · about

  1. 0:00Introduction
  2. 1:30KMP state and SDK challenges
  3. 3:16KMP SDK goals and use cases
  4. 6:06PubNub project and KMP motivation
  5. 8:57KMP API architecture
  6. 11:27Kotlin Multiplatform setup
  7. 14:39Common API interface
  8. 16:03Moving code to common sets
  9. 18:56Platform-specific types handling
  10. 21:21Wrapping iOS SDK with CocoaPods
  11. 24:35JavaScript SDK integration
  12. 27:03JS config objects and type safety
  13. 29:56Kotlin.js type mapping
  14. 34:21Testing KMP across platforms
  15. 35:27Exporting native APIs
  16. 36:09Standard library limits
  17. 37:54JS dependencies and code size
  18. 38:58Optimizing native API output
  19. 39:38KMP tools and improvements
  20. 40:00Project outcomes
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.