Scale McDonald's with KMM
summary
KMM powers a production McDonald's app used in 60+ markets with 300M downloads and an order every second; teams share 90% shared presentation logic and migrate UI natively with Compose and Swift. A custom Revolver state manager provides immutable state flows, event and error handlers, and enforces ~80% test coverage so behavior is verified in shared code. Works at scale but iOS framework/diamond-dependency issues force bundling modules and add friction.
AI-written summary · about
chapters (17)
- 0:00Intro
- 0:33About KMM
- 1:04History
- 2:03Mobile Order Payments
- 3:12Redesign
- 4:01Architecture
- 4:55Local Architecture
- 5:51Module Architecture
- 6:55Market Picker
- 7:25State Management Library
- 8:20View Model
- 9:15Composite Screen
- 10:21View Model Wrapper
- 11:40Challenges
- 12:19Dependencies
- 13:19Future plans
- 14:56Outro
related talks
46mUnlocking Scalability: Power Up Your Native App with KMM
25mKotlin Multiplatform Mobile in production: key takeaways from developing two cross-platform apps
29mKMP for Mobile Developers
38mKMM story - from first feature to Mobile mono-repo at Sphere
34mKMM survival guide: how to tackle everyday struggles between Kotlin and Swift
19mBuilding Bridges with Kotlin Multiplatform Mobile (KMM): How we added KMM to our established App
35mThe Art of KMP: what you need to know as a multiplatform developer
31mKotlin Multiplatform for iOS: Myths vs Reality
