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

What's New in Compose Multiplatform (KotlinConf...

What's New in Compose Multiplatform (KotlinConf 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

May 21, 2026

More Decks by Márton Braun

Other Decks in Programming

Transcript

  1. Modernizing Preparing for Multiplatform Going Multiplatform 1 What’s New in

    Compose Multiplatform Building Shared UI for iOS and Beyond Márton Braun Sebastian Aigner
  2. Agenda 2 • Where Compose Multiplatform is today • Onboarding

    and tooling • General improvements • Platform-specific updates
  3. 8

  4. 17 BETA Mar 11 ALPHA Dec 03 STABLE Apr 22

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

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

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

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

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

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

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

    Compose-first • Flexible • Adaptive • Multiplatform Stable
  12. 41 A { new | improved | parallel } rendering

    pipeline for iOS Default in 1.11
  13. 43 Parallel rendering render main GPU screen Snapshot / Layout

    Picture Submit commands Draw / Shaders Wait for Drawable !
  14. 44 Parallel rendering + our own surface render main GPU

    screen Snapshot / Layout Picture Submit commands Draw / Shaders ! Wait for Drawable
  15. 48

  16. 49

  17. Overlay interop views 52 Experimental in 1.10 @OptIn(ExperimentalComposeUiApi!"class) @Composable actual

    fun PlatformActionButton( onClick: () # Unit, modifier: Modifier, ) { UIKitView( factory = { !" !!# !$ }, modifier = modifier, properties = UIKitInteropProperties( placedAsOverlay = true, ), ) }
  18. 53 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.
  19. 54 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.
  20. Summary 66 Hundreds of millions of active users. Faster and

    faster release cycles. Constant improvements for all platforms.
  21. … and don’t forget to vote! zsmb.co/talks Márton Braun @zsmb.co

    sebi.io Sebastian Aigner @sebi.io What’s New in Compose Multiplatform Better Shared UI for iOS and Beyond