Aller au contenu

How Major Metros Run on KMP

5 mars 2026 · 1 h 39 min

Notes de l’épisode

Every time you tap through a subway gate in New York City, you’re using Kotlin Multiplatform! In this episode, we sit down with Paweł Kwieciński from Masabi to explore how they brought a decade-old Java codebase to KMP, powering ticket validation across mobile apps, embedded devices, and backend systems for public transit agencies worldwide.

Resources:

Hosts:

Guest:

  • Paweł Kwieciński

Timeline:
(0:00) Introduction
(1:12) What is Masabi?
(3:03) How does Kotlin fit into this?
(6:30) System architecture overview
(8:33) Embedded SDK and mobile apps
(10:33) Ticket inspectors and validators
(13:22) Offline operation
(16:29) The KMP decision
(24:42) Evaluating alternatives
(27:21) Planning the migration
(33:28) First lines of Kotlin
(43:45) Translating Java to Kotlin
(53:22) AI-assisted code translation
(56:39) Early AI era challenges
(1:05:01) Testing challenges
(1:08:22) KMP dependencies
(1:11:34) Domain-specific dependencies
(1:16:55) Java ME and C interop
(1:23:22) Backend-client sharing
(1:26:59) Current status
(1:31:48) Future plans: CMP
(1:36:26) Wrap-up

Tous les épisodes de Talking Kotlin

Paramètres

Affichage

Langue

Détermine les stations affichées en premier sur la page d’accueil.

Historique

Les stations et épisodes écoutés récemment et tes dernières recherches sont seulement enregistrés dans ce navigateur.

Notifications

Un court message quand un podcast que tu suis publie un nouvel épisode. Désactive un podcast précis avec la cloche sur sa page.

Compte

Enregistrez vos favoris – dans l’app et sur le site.

Raccourcis clavier

/
Ouvrir la recherche
Espace
Lecture ou pause
← →
Dans le lecteur : 15 s en arrière, 30 s en avant (épisodes) · dans une rangée : tuile suivante
↑ ↓
Dans une rangée : cible dans la tuile
Début / Fin
Dans une rangée : première ou dernière tuile
Esc
Fermer la fenêtre ou le menu
?
Cet aperçu
En cours de lecture

Voir la station

À suivre

    Ajoutez des épisodes avec « À suivre » – ils seront lus après l'épisode en cours.