View profile

jetc.dev Newsletter - Issue #70

jetc.dev Newsletter - Issue #70
By Mark Murphy, CommonsWare • Issue #70 • View online
This week, we look briefly at beta09, as the countdown to a stable release continues ticking!
We also look at string resources, derivedStateOf(), and Text(). We peek at some dialogs and “swipe to expose” composables. And we try to have a bit of “focus time”. 

Beta Breakdown
Reviewing the release notes for the latest Jetpack Compose update!
beta09 was not huge, but does contain more changes than I would expect for a nearly-final release.
The Compose artfacts now contain “profile rules”. As is explained in the Compose runtime beta09 release notes, these rules teach ART what functions should be compiled ahead of time, rather than just in time, to improve first-run app performance.
Also, the Compose team is improving support for running Compose-based tests as unit tests using Robolectric. The Compose UI beta09 release notes list some known limitations.
Also:
One Off the Stack, One Off the Slack
You’ve got questions. That’s understandable!
Changing the OutlinedTextField() Border
Composable Commentary
Posts, videos, and other new information related to Jetpack Compose!
Podcast: AD/BC on Jetpack Compose Layout
Plumbing data with derived state in Compose
Video: Exploring Jetpack Compose Canvas
Compose: List / Detail - Testing part 2
Focus in Jetpack Compose
Implementing a Stopwatch with Kotlin Coroutines and Flow Part 1
Carthographing Jetpack Compose: text
Resource Roundup
100% pure code!
…And One More Thing
It is easy to ignore focus. Focus is a concept tied to keyboard navigation of a UI. Few developers (or designers) use a phone with a keyboard. “Out of sight, out of mind” means that forgetting about keyboards is very common.
Yet, while phones with keyboards are uncommon, there may be more than you might think of:
  • Most Chrome OS devices come with keyboards
  • Bluetooth keyboards are a popular accessory for tablets
  • Users needing assistive technology will often wind up with a peripheral that either is a keyboard or presents itself to Android as a keyboard
  • You may be required by regulation to support keyboard navigation
  • Televisions are not touchscreens; navigation through a TV app is via a remote that emits key events
  • Game controllers emit key events
  • Your future Compose for Desktop app will be tied tightly to keyboards
  • And, believe it or not, there are modern phones with keyboards
Jamie Sanson’s post on focus demonstrates that Compose has an in-depth API for focus management. It is our job to test our app’s focus management and make fixes in places where the “out of the box” implementation is shaky. Plus, Compose UI is new, and focus management may not have gotten enough community attention, so there may be bugs, or gaps in functionality where Google postponed some things to address after 1.0.
As you develop your battle plan for migrating to Compose UI in the coming years, try to find time to work on focus management… even if it is not your primary focus.
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