jetc.dev Newsletter Issue #8
It’s an even-numbered issue, which means… it’s a new dev release issue!
shipped last week, with a fair amount of changes both in Compose and the Compose
UI. Plus, we explore image scaling, checkboxes, and how to cope with all of
these API changes.
One Off the Stack, One Off the Slack
You’ve got questions. That’s understandable!
Hashtag List in Compose
This question explores how to implement a #List #Of #Hashtag #Structures, with a “chips”-style UI.
In this Slack thread, we discuss a workaround for bugs in the current
ScaleFit.FillMaxDimension, as a developer tries to get images
to scale properly.
Note: to view this, you need to be a member of the Kotlin Slack workspace — sign up at https://slack.kotlinlang.org/!
Posts, videos, and other new information related to Jetpack Compose!
dev08 Release Notes
Compose is moving from
+ syntax to combine modifiers to a fluent API, where
calls to modifiers get chained together. The objective is better function
discoverability in the IDE, via auto-complete, which doesn’t work with operators
dev08 Release Notes
Lots of changes:
deprecated in favor of
Box, and more!
Exploring Jetpack Compose: Checkbox
Joe Birch is back with another blog post on Compose, this time focusing on
100% pure code!
GitHub - vinaygaba/Learn-Jetpack-Compose-By-Example
This repository contains a large list of Compose samples, showing off various API features and describing, in comments, how they work.
GitHub - joreilly/PeopleInSpace
Kotlin/Multiplatform! Jetpack Compose! Swift UI! All in one project!
GitHub - mobnetic/compose-shared-element
This is a proof-of-concept project for implementing a shared element (or “hero widget”) as part of a UI transition in Compose.
…And One More Thing
Jetpack Compose has a swiftly-changing API. We used to use the unary plus
operator a lot (
+memo), but no more. We used to use the binary plus operator
(for combining modifiers), but that is gone too. Fundamental constructs like
Container get deprecated and replaced (with
Box in this case). And so on.
This is to be expected.
So long as we are in “dev” releases, anything could change in the API surface. That’s the point of “dev” releases — get early API feedback before that API starts to solidify. When we get to alpha releases, while the API may still change, those changes will be less drastic.
Certainly, you are welcome to use Compose for whatever you want, so long as you
do not mind re-re-re-re-re-writing it as the API undergoes these substantial
shifts. Hopefully, part of your objective of using Compose is to provide
feedback on what you like and what you do not, such as through the kotlinlang
On the flip side, if all you are doing is experimenting with Compose to get a sense of how it works… do not feel that you have to take on every dev release. The more releases you skip, the farther behind you fall, and the more difficult it may be to update your code… but you may not be planning on updating that experimental code anyway.
We may be in the “dev” release phase for quite some time. Plan accordingly!
Or, you can subscribe to the Atom feed or follow Mark Murphy in the Fediverse.
- 2023-05-30: Compose beta! Tracking continuous composable presses! Animated carousels! MVI! 2D scrolling layouts! Tables! And... a stable function?!?
- 2023-05-23: Focus and preview cards for Compose for TV! Interactions and visual states! ViewCompositionStrategy! Compose for iOS, for real! @email@example.com is zooming! Data tables! And... BasicTextField2, the sequel?!?
- 2023-05-16: Google I/O! New Compose BOM and alpha! Viewmodels! BottomScaffold()! SealedX! Lottie! Dynamic themes! Floating action menus!