Wojtek Kaliciński

Software Engineer @ PubNub

Talk Title

Level up your SDKs with KMP – no rewrite required!

Room

Hangouts

Date

01.11.2024

Time

15:45 > 40 min

Share

on Twitter

There are several compelling reasons to explore adding Kotlin Multiplatform (KMP) to your existing SDKs or libraries. The main one - to reduce development time and cut maintenance costs by having a single codebase for shared logic.

But what if you already have a suite of tried and tested native SDKs, and want to simply add KMP capabilities to broaden your audience, without impacting existing customers? Or perhaps you’re adding functionality on top of your SDKs and want to build it once instead of duplicating it in 2, 3, or 4 programming languages?

I’ll share our experiences at PubNub with bringing three of our realtime messaging SDKs - TypeScript, Swift and JVM, under a unified KMP API. I’ll also show how this foundation then enabled us to build and ship a new Chat SDK on top, built with KMP from the ground up and targeting all 3 platforms.

The talk will cover the initial requirements phase, the architectural decisions, and the tradeoffs that we had to make to finally land on KMP as the chosen solution.

We'll then delve into practical code examples and solutions (as well as quite a few WTF moments!) that allowed us to build the Chat SDK without affecting our existing users, and even improved the quality and consistency of our native SDKs.

Speaker Bio

I’m currently a software engineer on the PubNub SDK team, working on modernizing our JVM SDKs and introducing KMP into our codebase, with a focus on improving both internal and external developer experience. Previously I spent 8 years on the Android team at Google, advocating for and building developer tools and APIs for Android developers.

Menu