jetc.dev Newsletter Issue #24
dev15 release of Jetpack Compose dropped last week, so we’ll look at some of the
ramifications of those changes. We also look a bit a how Compose deals with classic
performance problems, Vinay Gaba provides us some presentation slides and a FAQ, and
we look at fillable loaders. Plus, JetBrains is hiring for their Compose team!
One Off the Stack, One Off the Slack
You’ve got questions. That’s understandable!
Once again, there were few good answers in Stack Overflow in
Compose is designed to avoid some of the performance problems that plagued
us in the classic
View system (e.g., why you want to avoid nested
containers). That does not mean that Compose is bulletproof in terms of performance, though.
Posts, videos, and other new information related to Jetpack Compose!
They have change the code generation strategy again. While this should affect few apps, those that are playing with reflection or other advanced forms of interop may need to make changes.
There are also a massive number of changes listed for
In this post, I give a detailed overview of the steps required to migrate a project
dev14 release to
dev15. It expands upon
the current edition of the “Declaring Dependencies” documentation,
since it may not be obvious to all where those Gradle bits go.
100% pure code!
“Fillable loaders” are animations that show the act of filling some shape with a color. Jorge Castillo created one years ago for standard views, and now he is back with a port for Compose!
…And One More Thing
Compose, like the rest of the Jetpack, went on a one-month update hiatus. What we got coming out of that was quite a bit of change: new packages, new Kotlin compiler (and flags), new Compose compiler plugin, etc.
It is good that big refactorings like this are happening during developer previews. While it is annoying for those of us experimenting with Compose, we are a tiny portion of the overall Android ecosystem. Once alpha releases begin, we will get a new cohort of developers trying out Compose, and they will be expecting it to be somewhat more stable than developer previews.
On the other hand… there are only four more bi-weekly Jetpack releases between now and the end of (Northern Hemisphere) summer 2020. The first Compose alpha is supposed to be released this summer, according to the Android 11 release video series.
That’s not much time, and it seems like there are still quite a few changes to be
made. My suspicion is that the first few alphas will be about as fluid as
the developer previews, with the API surface and compiler strategies slowly solidifying
over a long series of alpha releases. In other words, I do not expect there
to be a major change in how Compose is developed just because they reach an
alpha01 in the coming weeks.
Plus, summer 2020 was a target, and targets do get missed from time to time.
So, I am expecting a fair amount of change in Compose for the balance of 2020, regardless of how much of that change occurs under a “developer preview” banner versus an “alpha” banner.
- 2021-07-20: rc02! Preview and ViewModel, together again! Coil supports Compose! MVI! @dequesystems on accessibility! Screenshots of composables! D-pad support! And... Context code smells?!?
- 2021-07-13: Focus! Viewports! Navigation! @divyajain2405 talks about architecture! Screenshot testing! Sliders! Reorderable lists!
- 2021-07-06: RC01! Navigation! Phones *and* tablets! Cards! Timers! Barcodes! And... the