jetc.dev Newsletter Issue #322

Published: 2026-07-14

This week, we look at SubcomposeLayout(), TV Compose, and Nav3. In addition, we look at a filter bar implementation, along with a settings screen DSL. Plus, we take a couple of peeks at folks trying to improve the performance of Compose for Desktop.

Ooooo… What Did We Get?

Reviewing the release notes for the latest Jetpack Compose update!

Media3 got an update to 1.11.0-beta01, which means we got Compose-related updates:

  • androidx.media3:media3-ui-compose:1.11.0-beta01
  • androidx.media3:media3-ui-compose-material3:1.11.0-beta01

One Off the Stack, One Off the Slack

You’ve got questions. That’s understandable!

Can We Make Compose for Desktop Better?

What starts as a “please nuke AWT” rant turned into an exploration of cold-start times for desktop apps, why modern Macs are “too good”, and whether we should all just vibe-code for the Web instead.

Composable Commentary

Posts, videos, and other new information related to Jetpack Compose!

Inside SubcomposeLayout: Jetpack Compose’s Most Misunderstood API

Shreyas Patil (Mastodon, Bluesky) takes a deep dive into SubcomposeLayout(), when and where you might prefer to use it over BoxWithConstraints(), and what its strength is (controlling the emission of nodes based on previous nodes).

Medium: I Built JetBrains’ Official Liquid Glass Setup, Then Deleted It

Shiva Thapa tried to do things JetBrains’ way, having Compose Multiplatform delegate rendering a Liquid Glass nav bar to SwiftUI. That had a side effect of delegating navigation itself to SwiftUI, and this post demonstrates an alternative approach if you want to keep navigation more on the Compose Multiplatform side of your app.

Medium: Adaptive UI in Jetpack Compose: A Practical Guide for Phones, Foldables, and Tablets

Adegboye Oluwatayo Emmanuel walks us through window classes and how our code can leverage them to offer different navigation and content based upon the available screen width, focusing on Compose for Android.

Medium: Improve Jetpack Compose TV scrolling performance

TV Compose is challenging, not only because it breaks our typical UX pattern by being keypad-focused, but also because Android TV devices tend to be under-powered compared to phones and tablets. Rahul Baboria offers advice for how best to measure jank for TV apps and tricks for being able to address that jank, especially for scrolling operations.

The classic View system tended towards having stateful UI elements, while Compose tries to move to a stateless model. Victor Brandalise points out that the distinction between Nav2 and Nav3 is similar and what moving the state into our control means from a practical standpoint.

Introducing Composables CLI

Alex Styl (Bluesky) writes about Composables CLI, a combination project/module generator and documentation hub, focused on the Composables UI framework for its user interface. It makes the documentation available via the command line, either in simple CLI invocation or as an MCP server for use by coding agents.

Resource Roundup

100% pure code!

GitHub: daniimazh-dev / ComposeSettingsBuilder

MAZHUROVSKYI DANIIL brings us a DSL for defining settings screens in a Compose for Android app. It includes many settings UI elements, integrated data storage, custom styling, and more.

GitHub: nsozturk / quick-filter-kotlin

enes öztürk built a filter bar for Compose for Android (and for the classic View system). It includes dropdown chips for filterable attributes in a chip bar, plus a filter panel.

GitHub: bitsycore / ComposeDesktopNative

GitHub user bitsycore is building out a Kotlin/Native implementation of Compose for Desktop, using SDL3 for its windowing system. Kotlin/Native means no JVM – you get native binaries for Linux, macOS, and Windows.

Notable Releases

Maps for Compose is out with 8.3.1, with some bug fixes.

Compose Unstyled hopped up to 2.8.2, also containing some bug fixes.