Netflix David Henry & Mel Yahya Oct 29, 2020

Netflix Android and iOS Studio Apps — now powered by Kotlin Multiplatform

Article Summary

Netflix just went all-in on Kotlin Multiplatform for their production studio apps. Here's why they're betting on shared code over platform-specific rewrites.

Netflix's Prodicle app helps manage TV and film production on set, where connectivity is spotty and requirements change constantly. Their small team needed to move fast without sacrificing reliability, so they turned to Kotlin Multiplatform to share business logic across iOS and Android.

Key Takeaways

Critical Insight

Netflix proved Kotlin Multiplatform hit an inflection point where tooling maturity outweighs integration complexity, enabling one codebase for core logic across platforms.

They're already eyeing JavaScript transpilation to extend this shared code beyond mobile.

About This Article

Problem

Netflix's Prodicle app works in write-heavy environments where fewer than one-third of users have reliable connectivity on set. The app needs strong offline support and client-side persistence across distributed production locations.

Solution

Netflix used Kotlin Multiplatform to write platform-agnostic business logic once, then compile it into a Kotlin library for Android and a native Universal Framework for iOS through Kotlin/Native. This eliminated the need to maintain duplicate code across platforms.

Impact

The team reduced platform-specific work by using Ktor's Multiplatform HttpClient for networking and SQLDelight with native database drivers for disk caching. This let them iterate faster on the product while still exploring platform-specific UI options like Jetpack Compose and SwiftUI.