Newsletter Issue #10

Published: 2020-04-21

Google is sticking with their every-two-weeks release cadence, so dev09 shipped last week! In this issue, we will look at some ramifications of that, plus snackbars, animations, and life.

One Off the Stack, One Off the Slack

You’ve got questions. That’s understandable!

Once again, there has been a shortage of Jetpack Compose questions on Stack Overflow in the android-jetpack-compose tag. So, let’s look at more from Slack!

Fragments and Compose

A question came up about the relevance of fragments and the Navigation component for Compose development. This is a common concern, one that appears in Slack every few weeks.

Flow and Experimental Compilers

Another popular concern is mixing coroutines with Compose. That is limited at the moment, but improvements should be arriving with dev10!

Composable Commentary

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

Compose dev09 Release Notes

The major breaking change here is that the state and mutableStateOf property delegates require imports now. Also, ColoredRect is deprecated, and watch out for changes to wrapContentWidth.

Compose UI dev09 Release Notes

There are dozens of changes in this release, so read the release notes! Of particular interest: subscribeAsState() for RxJava and observeAsState() for LiveData!

Exploring Jetpack Compose: Snackbar

Joe Birch has a pair of posts this week, the first looking at the Compose implementation of the Snackbar pattern from Material Design.

Exploring Jetpack Compose: Radio Button

Joe Birch’s other post looks at the RadioButton implementation in Compose, as a foundational UI piece.

Animations in Jetpack Compose using Transition

This article looks at using Transition for animated effects in Compose. This is the latest in Nikit Bhandari’s series of Compose articles, covering topics ranging from tabs and drawers to clicks and scrolling.

Resource Roundup

100% pure code!

GitHub - amolgupta/GameOfLife

In honor of the passing of John Conway, we have a Compose implementation of his legendary Game of Life!

…And One More Thing

The scope of changes in dev09’s edition of the Compose UI libraries is extensive. And the release notes do not cover everything, such as the new ui-text-android and ui-text-core artifacts.

dev10 promises to be a big release as well, as we may get a new compiler plugin to try out. Yet, it appears that this is still an interim release of the plugin, with not everything working quite yet (e.g., working with Flow from coroutines).

All of this suggests that we are quite a ways away from an alpha of either Compose or the Compose UI:

  • I would not expect an alpha of Compose until the compiler plugin is reasonably feature-complete and out for a while, so we can find lingering problems

  • It is possible that Compose reaches alpha before Compose UI (though the reverse seems less likely), as there is no strict requirement that the two reach alpha simultaneously

On the plus side, this indicates that Google is taking its time and trying to get the first edition of Compose to be as good as possible. On the other hand, there is a minor risk of losing early adopter enthusiasm, as developers tire from the rework required to keep up with all the dev-release changes. On the whole, the pace seems like a positive thing, though. As they say, patience is a virtue.