Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What's New in Compose Multiplatform (droidcon U...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

What's New in Compose Multiplatform (droidcon USA 2026)

Compose Multiplatform lets you build beautiful UI with idiomatic Kotlin for Android, iOS, Desktop, and Web apps! It’s stable, production-ready, constantly evolving, and it already powers the experiences of millions of users every day. Its declarative nature also makes it a perfect fit for building cross-platform apps in the age of agentic development.

As a framework that can be adopted incrementally rather than requiring a full rewrite, you can start using it risk-free even in existing apps. Your Android skills seamlessly transfer to other platforms, with tools like Navigation 3 already available for Compose Multiplatform.

In this talk, we’ll take a hands-on look at everything that’s new and exciting. iOS improvements like faster rendering, enhanced input handling, and better interop that enables the use of Liquid Glass elements. Web features including accessibility, interop, and other improvements.

And of course, we’ll discuss the developer experience: with a unified @Preview system, a mature Hot Reload solution, and a thriving ecosystem that covers all important areas of modern app development.

https://zsmb.co/talks/whats-new-in-cmp-2026/

Avatar for Márton Braun

Márton Braun

July 16, 2026

More Decks by Márton Braun

Other Decks in Programming

Transcript

  1. What’s New in Compose Multiplatform Building Shared UI for iOS

    and Beyond Márton Braun Sebastian Aigner
  2. Agenda • Where Compose Multiplatform is today • Onboarding and

    tooling • General improvements • Platform - specific updates 5
  3. 12

  4. 15

  5. 1.9 ALPHA BETA STABLE Apr 23 Jun 18 Aug 13

    1.10 ALPHA BETA STABLE Aug 13 Oct 22 Dec 03 ALPHA 1.11 Dec 03 Jetpack Compose 1.9 Alpha BETA STABLE Jun 5 Jul 22 Sep 16 ALPHA 1.10 Sep 03 BETA STABLE Nov 03 Jan 13 1.11 BETA STABLE Mar 11 Apr 22 ALPHA BETA STABLE Dec 15 Mar 26 May 13 22
  6. New features in the last year 1.9 Shadow modifiers Alpha

    BETA keepScreenOn modifier Jun 5 Jul 22 Sep 16 STABLE Visibility change modifier Material 3 Expressive 1.10 2D scroll APIs Window inset rulers Navigation 3 Unified @Preview annotation ALPHA BETA Sep 03 Nov 03 Veiled transitions STABLE Jan 13 Retain API Improved shared element transitions 1.11 Flexbox layout ALPHA Dec 15 Style API Grid layout BETA Mar 26 mediaQuery API v2 testing APIs STABLE May 13 New SlotTable implementation 23
  7. New features in the last year 1.9 Shadow modifiers Alpha

    BETA keepScreenOn modifier Jun 5 Jul 22 Sep 16 STABLE Visibility change modifier Material 3 Expressive 1.10 2D scroll APIs Window inset rulers Navigation 3 Unified @Preview annotation ALPHA BETA Sep 03 Nov 03 Veiled transitions STABLE Jan 13 Retain API Improved shared element transitions 1.11 Flexbox layout ALPHA Dec 15 Style API Grid layout BETA Mar 26 mediaQuery API v2 testing APIs STABLE May 13 New SlotTable implementation 24
  8. New features in the last year 1.9 Shadow modifiers Alpha

    BETA keepScreenOn modifier Jun 5 Jul 22 Sep 16 STABLE Visibility change modifier Material 3 Expressive 1.10 2D scroll APIs Window inset rulers Navigation 3 Unified @Preview annotation ALPHA BETA Sep 03 Nov 03 Veiled transitions STABLE Jan 13 Retain API Improved shared element transitions 1.11 Flexbox layout ALPHA Dec 15 Style API Grid layout BETA Mar 26 mediaQuery API v2 testing APIs STABLE May 13 New SlotTable implementation 25
  9. New features in the last year 1.9 Shadow modifiers Alpha

    BETA keepScreenOn modifier Jun 5 Jul 22 Sep 16 STABLE Visibility change modifier Material 3 Expressive 1.10 2D scroll APIs Window inset rulers Navigation 3 Unified @Preview annotation ALPHA BETA Sep 03 Nov 03 Veiled transitions STABLE Jan 13 Retain API Improved shared element transitions 1.11 Flexbox layout ALPHA Dec 15 Style API Grid layout BETA Mar 26 mediaQuery API v2 testing APIs STABLE May 13 New SlotTable implementation 26
  10. New features in the last year 1.9 Shadow modifiers Alpha

    BETA keepScreenOn modifier Jun 5 Jul 22 Sep 16 STABLE Visibility change modifier Material 3 Expressive 1.10 2D scroll APIs Window inset rulers Navigation 3 Unified @Preview annotation ALPHA BETA Sep 03 Nov 03 Veiled transitions STABLE Jan 13 Retain API Improved shared element transitions 1.11 Flexbox layout ALPHA Dec 15 Style API Grid layout BETA Mar 26 mediaQuery API v2 testing APIs STABLE May 13 New SlotTable implementation 27
  11. New features in the last year 1.9 Shadow modifiers Alpha

    BETA keepScreenOn modifier Jun 5 Jul 22 Sep 16 STABLE Visibility change modifier Material 3 Expressive 1.10 2D scroll APIs Window inset rulers Navigation 3 Unified @Preview annotation ALPHA BETA Sep 03 Nov 03 Veiled transitions STABLE Jan 13 Retain API Improved shared element transitions 1.11 Flexbox layout ALPHA Dec 15 Style API Grid layout BETA Mar 26 mediaQuery API v2 testing APIs STABLE May 13 New SlotTable implementation 28
  12. Navigation 3 • Compose - first Modernizing • Flexible Preparing

    for Multiplatform List<T> UI Going Multiplatform 31
  13. Navigation 3 • Compose - first Modernizing • Flexible •

    Adaptive Preparing for Multiplatform Going Multiplatform 32
  14. Navigation 3 • Compose - first Modernizing • Flexible •

    Adaptive Preparing for Multiplatform Going Multiplatform 33
  15. Navigation 3 • Compose - first Modernizing • Flexible •

    Adaptive Preparing for Multiplatform • Multiplatform Going Multiplatform 34
  16. Parallel rendering main render GPU Snapshot / Layout Picture Wait

    for Drawable Submit commands Draw / Shaders screen 48
  17. Parallel rendering + our own surface render GPU Snapshot /

    Layout Picture Wait for Drawable main Submit commands Draw / Shaders screen 49
  18. 53

  19. 54

  20. Overlay interop views Experimental in 1.10 @OptIn ( ExperimentalComposeUiApi ::

    class ) @Composable actual fun PlatformActionButton ( onClick : () > Unit , modifier : Modifier , ){ UIKitView ( factory = { /* ... */ }, modifier = modifier , properties = UIKitInteropProperties placedAsOverlay = true , ), ) } ( 57
  21. Avoid overusing Liquid Glass effe cts. If you apply Liquid

    Glass effects to a custom control, do so sparingly. Liquid Glass seeks to bring attention to the underlying content, and overusing this material in multiple custom controls can provide a subpar user experience by distracting from that content. Limit these effects to the most important functional elements in your app. 58
  22. Avoid overusing Liquid Glass effects. If you apply Liquid Glass

    effects to a custom control, do so sparingly. Liquid Glass seeks to bring attention to the underlying content, and overusing this material in multiple custom controls can provide a subpar user experience by distracting from that content. Limit these effects to the most important functional elements in your app. 59
  23. 71

  24. Summary Hundreds of millions of active users. Faster and faster

    release cycles. Constant improvements for all platforms. 72
  25. Thank you; Come chat with us at the JetBrains booth!

    Márton Braun zsmb.co/talks zsmb.co/talks @zsmb.co Sebastian Aigner sebi.io @sebi.io sebi.io