jetc.dev 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.
Or, you can subscribe to the Atom feed or follow Mark Murphy in the Fediverse.
Recent Issues:
- 2024-10-01: Lazy grids! Focus! @colinmarsch@androiddev.social on CMP accessibility! @skydoves@androiddev.social on Landscapist! @sinasamaki@androiddev.social on Slider()! And... what is it?!?
- 2024-09-24: A Compose security fix and a new alpha! clipToBounds()! Localization! offset()! @skydoves@androiddev.social on server-defined UI! Bottom sheets! And... someone set us up *3* BOMs?!?
- 2024-09-17: Compose 1.7.1 and Compose Multiplatform 1.7.0-beta02! Flow layouts! TV Compose! SharedBounds! Image cropping! And... why does remember() not seem always to remember?!?