jetc.dev Newsletter Issue #277
Published: 2025-08-10
It’s a short early issue this week, and there will not be an issue next week. Sometimes, life as a developer in a startup takes precedence, and this is one of those times!
But, this time around, we look at produceState()
problems, the upcoming RetainedEffect()
,
and Compose Unstyled.
Composable Commentary
Posts, videos, and other new information related to Jetpack Compose!
Medium: What you might not know about produceState and Android Lifecycle
Jordi Coll Marin points out an issue with produceState()
: while it is tied to the
lifecycle of your composition, it is not tied to the lifecycle of your Activity
.
Jordi shows how to blend in LocalLifecycleOwner
to help with this.
Medium: Previewing RetainedEffect: A New Side Effect to Bridge Between Composition and Retention Lifecycles
Jaewoong Eum
(Mastodon, Bluesky)
continues an exploration of new “retain” capabilities forthcoming
in Compose, following on from last week’s post.
This time, the focus is on RetainedEffect()
, an effect wrapper around the retain()
API that provides a longer-lived counterpart to LaunchedEffect()
and DisposableEffect()
.
remember vs rememberSaveable: deep dive into state management and recomposition in Jetpack Compose
Jaewoong Eum
(Mastodon, Bluesky)
has been very busy, also contributing a post on the RevenueCat blog walking us
through the differences between remember()
and rememberSaveable()
, including a peek
at SaveableHolder
.
Compose Unstyled: The missing Design System layer for Compose UI
Alex Styl (Bluesky) has been building out the Compose Unstyled framework for a while, to make it easier for developers to build Material-free design systems. This includes both a suite of components as building blocks and a token-based theme engine to use for describing your design system’s look.
Exploring Material 3 for Compose: Large Top App Bar
Joe Birch
(Mastodon)
has been touring Material 3, and this time turns some attention to
LargeTopAppBar()
. This can be used for the “collapsing app bar” pattern, with
customizable rules for transitioning between the collapsed and expanded states.
Other Interesting Links
- Medium: Design Smarter with Android 16’s Adaptive Layouts
- Medium: Finally, Animated Splash Screens That Don’t Suck: Building androidx-splashscreen-compose
- Medium: How I Made My Own ScrollBar in Android Compose (With Drag Support!)
- Medium: LayoutNode: What Actually Happens When You Write @Composable
Resource Roundup
100% pure code!
ComposeFlow
ComposeFlow is an LLM-powered open source UI builder for Compose Multiplatform.
GitHub: Kyant0 / Capsule
“Capsule is a Jetpack Compose library that creates G2 continuous rounded corner shapes.”
Notable Releases
The Google Maps team released 6.7.1
of Maps for Compose,
bringing back rememberMarkerState()
.
Compose WebView Multiplatform is up to 2.0.2
,
with some iOS improvements.
Or, you can subscribe to the Atom feed or follow Mark Murphy in the Fediverse.
Recent Issues:
- 2025-07-29: Compose Multiplatform beta! Text gradients! ExoPlayer! Multiplatform camera access! Drawing! And... is it safe to run with snizzors?!?
- 2025-07-22: Compose BOM and beta! Canvas benchmarking! PausableComposition! AnnotatedString wrapper! And... why does my timetable seem lazy?!?
- 2025-07-15: Android Makers! Accessibility focus *and* keyboard focus! FABs and FAMs! PWAs!