If you build for Android TV and have ever been asked "can we do Apple TV too", this might be useful.

I have ten years on Android and Android TV. Our app went Views, then Jetpack Compose, then Compose Multiplatform so a small team could ship phone, TV, desktop, iOS and tvOS from one UI codebase. tvOS was the gap: JetBrains does not support it, and SwiftUI's focus system does not give you the control you are used to from Compose on Android TV.

So I added the tvOS target to the Compose Multiplatform fork myself, and ported androidx.tv:tv-material to multiplatform along the way. Your existing tv-material code, focus handling and D-pad logic carry over. The Siri Remote arrives as key events, the same way a D-pad does.

First post of the series is the high-level story: what tvOS actually is, how the port was ordered module by module, which part was hardest, and how to try it with one Gradle plugin.

https://dev.to/sajidaledev/my-journey-making-compose-multiplatform-work-on-tvos-and-what-i-learned-1mo3

Sample: Google's JetStream running on tvOS, https://github.com/sajidalidev/jetstream-tvos

submitted by /u/topper865
[link] [comments]