View profile

jetc.dev Newsletter - Issue #62

jetc.dev Newsletter - Issue #62
By Mark Murphy, CommonsWare • Issue #62 • View online
beta05 shipped, with relatively few changes!
Beyond that, we look at migrating to Compose, creating lists with all sorts of stuff in them, and try to make sense of effects. We also see a library for material chips and a project template for IntelliJ plugins using Compose for Desktop.
Plus, a special guest appearance by JetBrains’ Roman Elizarov! Or, at least, he popped into the #compose channel in Slack, to help explain why we need to type @ a lot with Compose.

Beta Breakdown
Reviewing the release notes for the latest Jetpack Compose update!
By and large, beta05 was a fairly quiet release, but there still were a few changes worth pointing out.
If you are using the ui-test-manifest or ui-tooling-data artifacts, they have been updated to support Android 12 a bit better, as is noted in the compose-runtime release notes.
The compose-foundation release notes point out that FlingBehavior now has the @Stable annotation. If you have created a custom implementation of FlingBehavior, be sure that it complies with the rules for @Stable classes.
And, strangely, there are new experimental APIs in a beta, related to focus management and text input selection, as is mentioned in the compose-ui release notes.
One Off the Stack, One Off the Slack
You’ve got questions. That’s understandable!
drawableStart equivalent in TextField()
Composable Commentary
Posts, videos, and other new information related to Jetpack Compose!
Lessons learned when migrating my app to Jetpack Compose
Creating a heterogeneous list with Jetpack Compose
Side Effects & Effect Handlers
Handling user selectable themes in Jetpack Compose
Navigation Drawer using Jetpack Compose
Jetpack Compose: building a generic grid canvas
Why Declarative UIs on Android?
Real-time lifecycle-aware updates in Jetpack Compose
Implementing a number pad in Jetpack Compose
Resource Roundup
100% pure code!
GitHub - compose-museum / SimpleTags
GitHub - c5inco / Compose-Desktop-Plugin-Template
GitHub - joreilly / StarWars
GitHub - Tlaster / Swiper
Gist: vganin / FlexRow.kt
…And One More Thing
Jetpack Compose still has a lot of bugs. While many of those issue tracker entries are not actual bugs (feature requests, random questions, etc.), many of them are bugs. For example, text entry has problems with non-GBoard keyboards.
If you are experimenting with Compose UI, you are likely to run into some problems. When you do:
  • Check to see if there is a bug report for it
  • If there is none, file a bug report with a sample app that reproduces the problem
Far too many issues filed on Google’s issue tracker lack that sort of sample app. While the Compose team does an exemplary job with such issues, it still slows their response time.
There is a good chance that Google is going to consider the May 5 beta06 to be the last beta release, with the final 1.0.0 version shipping during Google I|O. Any bugs that we find and report now would then get addressed in 1.0.x patch releases or perhaps a 1.1 alpha. However, the more details that we can provide about the bug, the more likely it is that Google can fix the bug faster.
Conversely, not providing a project that reproduces the error – or at the very least the source of a composable – means that the Compose team will need to create their own project, and they may have difficulty reproducing your problem.
In other words, the easiest way for Google to help you (by fixing bugs) is for you to help Google (by providing clear ways to reproduce the bugs).
Did you enjoy this issue?
Mark Murphy, CommonsWare

Jetpack Compose news and notes.

If you don't want these updates anymore, please unsubscribe here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Powered by Revue