Talking Kotlin
Talking Kotlin
Talking Kotlin
Building KMP Libraries: The RevenueCat Story
52 minutes Posted Feb 20, 2025 at 3:47 pm.
Sebastian and Márton discuss building KMP libraries with Jay Shortway, the author of RevenueCat’s Kotlin Multiplatform SDK for in-app purchases.Resources: RevenueCat KMP SDK How we built the RevenueCat SDK for Kotlin Multiplatform Hybrid SDK Architecture at RevenueCat ttypic/swift-klib-plugin on GitHub RevenueCat/purchases-kmp on GitHub Consider moving `Instant` and `Clock` to the standard library · Kotlin/kotlinx-datetime RevenueCat openingsHosts: Sebastian Aigner – Website | Bluesky Márton Braun – Website | Bluesky Guest: Joop Korteweg – Twitter Timeline:
Intro
What’s RevenueCat
In-app purchases are hard
The multiplatform SDK
The demand for KMP
Hiring and team structure
SDKs for any framework
Building on native SDKs
Improving iOS linking
The SDK is on GitHub
Benefits of building on native
Designing a common API
Add-on modules for SDKs
Instant in the standard library
Returning results from the API
API design decisions
Codegen opportunities
The best things about KMP
KMP improvements wishlist
The KMP journey
0:00
52:24
Download MP3
Show notes
Sebastian and Márton discuss building KMP libraries with Jay Shortway, the author of RevenueCat’s Kotlin Multiplatform SDK for in-app purchases.Resources: RevenueCat KMP SDK How we built the RevenueCat SDK for Kotlin Multiplatform Hybrid SDK Architecture at RevenueCat ttypic/swift-klib-plugin on GitHub RevenueCat/purchases-kmp on GitHub Consider moving `Instant` and `Clock` to the standard library · Kotlin/kotlinx-datetime RevenueCat openingsHosts: Sebastian Aigner – Website | Bluesky Márton Braun – Website | Bluesky Guest: Joop Korteweg – Twitter Timeline:(0:00) Intro(0:44) What’s RevenueCat(4:00) In-app purchases are hard(7:22) The multiplatform SDK(12:44) The demand for KMP(16:30) Hiring and team structure(18:42) SDKs for any framework(21:27) Building on native SDKs(23:45) Improving iOS linking(24:54) The SDK is on GitHub(26:05) Benefits of building on native(28:18) Designing a common API(33:21) Add-on modules for SDKs(37:30) Instant in the standard library(38:04) Returning results from the API(39:53) API design decisions(44:57) Codegen opportunities(45:48) The best things about KMP(47:07) KMP improvements wishlist(48:28) The KMP journey(49:45) Wrap-up