jetc.dev Newsletter Issue #6

Published: 2020-03-24

This week debuts the dev07 release of Compose and the Compose UI libraries!

One Off the Stack, One Off the Slack

You’ve got questions. That’s understandable!

What is the Jetpack Compose equivalent of RecyclerView or ListView?

Google’s Ryan Mentley is back with a FAQ-style entry on setting up scrolling lists in Compose.

Compose, Reflection, and Coroutines

A problem in getting reflection to find a function turns out to really be a problem with coroutines and the Compose Kotlin compiler plugin.

Note: to view this, you need to be a member of the Kotlin Slack workspace — sign up at https://slack.kotlinlang.org/!

Composable Commentary

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

Compose dev07 Release Notes

A bunch of refactoring, plus some removals (e.g., ViewAdapters), comprise our latest dev release of the Compose core.

Compose UI dev07 Release Notes

Similarly, this has a bunch of refactoring, but otherwise does not appear to be too huge.

Android Jetpack Compose Tutorial

A YouTube-hosted screencast from MindOrks reviewing how to use Compose.

Component-based architecture in Jetpack Compose

A tutorial outlining how to create UI components in Compose to assemble screens.

Jetpack Compose: State

A quick rundown of state management in Compose.

Resource Roundup

100% pure code!

GitHub - amar1995/ModularNewsApp

A JetNews-style news app, demonstrating Compose.

GitHub - zach-klippenstein/compose-backstack

This composable helps manage a backstack, with animated transitions.

…And One More Thing

Not everything can be a priority.

Developers have been asking for some time when there is going to be an official navigation/routing solution for Jetpack Compose. The current answer is that the Jetpack Navigation component will fill that role. However, having a native Compose implementation of Navigation is somewhat decoupled from Compose development itself. Or, as Adam Powell put it:

“We don’t consider it blocking for alpha, beta or 1.0, partially because it’s “fairly straightforward to create a ComposableFragment and use that with the “existing library. We’re focusing on the fundamentals that make such “integrations easy to write first.”

This is not to say that navigation/routing is not a concern, just that it is an independent effort from Compose itself and may ship on an independent timeline (though, presumably, after Compose itself ships).