jetc.dev Newsletter Issue #7
A slim issue this week, with a heavy focus on animations!
One Off the Stack, One Off the Slack
You’ve got questions. That’s understandable!
Setting up animated effects in Compose does not require a ton of code, particularly if you use the Jetpack Animation library to handle some of the interpolation. Here, we have an animated expand/collapse button in < 150 lines!
Note: to view this, you need to be a member of the Kotlin Slack workspace — sign up at https://slack.kotlinlang.org/!
100% pure code!
…And One More Thing
Documenting Jetpack Compose is going to be a challenge. KDocs are class-centric, and Compose is more function-centric.
Suppose, for example, you want to look up the definition of
head over to https://developer.android.com and search on it… and you seem to get
no matches. It’s not even clear if any of the search results are related to
What’s going on is that
LayoutWeight is a function, defined on
RowColumnScope is part of the Compose DSL, but we are not running around and
creating instances of it manually. But, since the
is centered around classes, if you do not know the right class, you may have
difficulty finding the function.
Google’s focus seems to be on Android Studio auto-complete and related integrations, which is a reasonable solution. But, we cannot link to auto-complete in Medium posts and Slack discussions. And Android Studio’s resource requirements amount to a tax on developers, one that not everyone can pay.
Eventually, this situation will improve. Probably the online docs will become more searchable for Compose items. Third parties might create their own catalog of Compose functions with an eye towards simplifying the documentation navigation. Until then… just be prepared to hunt through the docs a bit more than you might be used to.
- 2023-11-21: Compose/Material3/Wear Compose updates! remember()! Adaptive layouts! Compose Multiplatform in 2024! @email@example.com on BasicTextField2()! Compose Multiplatform charts! And... is TV Compose in trouble?!?
- 2023-11-14: Compose Compiler! BasicTextField2()! @firstname.lastname@example.org and animations! Optimization! @email@example.com, JetBrains, and Fleet! JetBrains and plotting! And... we collapse?!?
- 2023-11-07: Compose Multiplatform! Chips in fields! Diffing! Custom fonts in Glance app widgets! Heatmaps! PIN input! And @firstname.lastname@example.org is in a bit of a haze?!?