View profile Newsletter - Issue #124 Newsletter - Issue #124
By Mark Murphy, CommonsWare • Issue #124 • View online
I’m back! 👋
This week, we spend a bunch of time on next-generation animations and transitions, powered by AnimatedContent() and LookaheadLayout(). We touch on semantics, spans, and, well, touches. We apply Paging3 to lazy lists and zoom some images. And I hope that someday we get more official advice on packaging composables in libraries and library modules.

One Off the Stack, One Off the Slack
You’ve got questions. That’s understandable!
How Can I Give a Shadow To an ImageVector?
Composable Commentary
Posts, videos, and other new information related to Jetpack Compose!
Video: Animations with Rebecca Franks
Introducing LookaheadLayout
Introducing Jetpack Compose’s New Layout: “LookaheadLayout”
Jetpack Compose Accessibility: Semantics
Drawing custom text spans in Compose UI
How Gestures Work in Jetpack Compose
Resource Roundup
100% pure code!
Other Interesting Links
…And One More Thing
Overall, the Compose documentation is very well done. Compose is a complex topic, so the breadth and depth of the official documentation is welcome.
However, there are always more things that could be covered. One would be recommendations for packaging composables in libraries.
For library modules in an app project, we would have one layer of advice, such as:
  • Rules for what does (and does not) need to be synchronized with other modules with respect to Compose versions, particularly in light of the version independence movement
  • Details of how immutability inference works across module boundaries, compared with how it works within a single module
  • Notes about how having composables split across multiple modules might affect Android Studio features, especially the upcoming Electric Eel ones like Live Edit
  • Recommendations on code organization as it pertains to Compose, such as the use of internal on composables
  • And so on
A second layer would be advice on creating libraries designed to be packaged as AAR artifacts and used across projects, perhaps even across organizations. For example, there are many open source libraries of composables, but it is unclear if the organic approaches that their developers are taking represent best practices for libraries of composables.
No doubt we can reverse-engineer the guidance by examining those public libraries, especially Google-maintained ones. Up-to-date documentation generally is simpler for the mass of developers to use, though.
Did you enjoy this issue?
Mark Murphy, CommonsWare

Jetpack Compose news and notes.

In order to unsubscribe, click here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Powered by Revue