JetpackCompose.app
jetpackcomposeapp.bsky.social
JetpackCompose.app
@jetpackcomposeapp.bsky.social
The #1 destination for all things Jetpack Compose. Keeping up with Android Development is hard. We make it easy, entertaining and rewarding.

World class Android Developers read our newsletter to remain sharp 👉🏻 https://www.jetpackcompose.app/newsletter
We cover more Android tips like these in Dispatch, our newsletter that thousands of the best Android engineers diligently read 🚀

www.jetpackcompose.app/newsletter
November 11, 2025 at 4:51 PM
🚨 GAME CHANGER ALERT 🚨

You can now enable automated accessibility checks directly in your Espresso tests:

That's it. No more manual a11y audits.

#AndroidDev #JetpackCompose
November 11, 2025 at 4:51 PM
If you're still using onGloballyPositioned for a lot of your use cases, it's time to reconsider.

Your scroll performance will thank you.

We cover more Android tips like these in Dispatch, our newsletter that thousands of Android engineers diligently read 🚀

www.jetpackcompose.app/newsletter
November 9, 2025 at 6:49 PM
Enter Modifier.onLayoutRectChanged:
November 9, 2025 at 6:49 PM
The August '25 Compose release dropped 2D scrolling, better prefetching, and autoSize text.

But the coolest feature? A modifier that tracks visibility WITHOUT killing your performance.

Thread on onLayoutRectChanged 🧵

#AndroidDev #JetpackCompose
November 9, 2025 at 6:49 PM
If you like getting useful content like this, consider subscribing to our newsletter. We go to great lengths to add value each time you open our email. It shows up once every couple weeks so it's not hard to keep up.

www.jetpackcompose.app/newsletter
November 8, 2025 at 4:36 PM
🤯 Mind-blowing fact: Both OpenAI's and Anthropic's official JAVA SDKs are written entirely in Kotlin.

Let that sink in.

Companies building SDKs FOR Java developers chose Kotlin as the implementation language.

The Kotlin takeover is real 🫡

#AndroidDev
November 8, 2025 at 4:36 PM
Hot take: Dependency Injection on Android just got a huge upgrade!!

Square just moved Anvil to maintenance mode to adopt Metro - a DI framework built by ONE PERSON that's 47-56% faster than Dagger+Anvil.

This is what "individual developers changing ecosystems" looks like 🧵

#AndroidDev
November 7, 2025 at 7:13 PM
Even better: Built-in DI support (Hilt & Koin extensions) and works across all Compose Multiplatform targets.

Plus it's Chris Banes approved, which is basically a seal of quality in the Android world.
November 5, 2025 at 5:39 PM
Use cases are endless:

Dialog ViewModels that clean up when dismissed
LazyColumn items with their own business logic
Reusable components with isolated state
Multi-pager screens with per-page ViewModels
November 5, 2025 at 5:39 PM
Resaca lets you scope ViewModels to individual composables:
November 5, 2025 at 5:39 PM
ViewModel scoping in Compose has been broken from day one.

You can only scope to Activity or navigation graphs, but Compose wants fine-grained components.

Enter Resaca - the library that fixes this beautiful mess 🧵

#AndroidDev #JetpackCompose
November 5, 2025 at 5:39 PM
Even better: Built-in DI support (Hilt & Koin extensions) and works across all Compose Multiplatform targets.

Plus it's Chris Banes approved, which is basically a seal of quality in the Android world.
November 5, 2025 at 5:30 PM
Use cases are endless:

Dialog ViewModels that clean up when dismissed
LazyColumn items with their own business logic
Reusable components with isolated state
Multi-pager screens with per-page ViewModels
November 5, 2025 at 5:30 PM
Resaca lets you scope ViewModels to individual composables:
November 5, 2025 at 5:30 PM
ViewModel scoping in Compose has been broken from day one.

You can only scope to Activity or navigation graphs, but Compose wants fine-grained components.

Enter Resaca - the library that fixes this beautiful mess 🧵

#AndroidDev #JetpackCompose
November 5, 2025 at 5:30 PM
The fix: Use Modifier.onFirstVisible

Now you track actual visibility, not just composition.
November 4, 2025 at 10:24 PM
🐛 SPOT THE BUG 🐛

This code logs impressions for list items. But with Compose's new prefetching APIs, there's a subtle bug lurking.

Can you spot it? Drop your answer below 👇

#AndroidDev #JetpackCompose
November 4, 2025 at 4:45 PM
Want more performance tips that actually work?

Get Dispatch in your inbox 🚀
November 3, 2025 at 8:48 PM
The fix? Use drawBehind instead:
November 3, 2025 at 8:48 PM
Look at this seemingly innocent code in the screenshot.

What's wrong here?
November 3, 2025 at 8:48 PM
Want more performance tips that actually work?

Get Dispatch in your inbox 🚀
November 3, 2025 at 5:23 PM
The fix? Use drawBehind instead:
November 3, 2025 at 5:23 PM
Look at this seemingly innocent code in the screenshot.

What's wrong here?
November 3, 2025 at 5:23 PM
Hot take: If you figure out a way to improve your app's build times, you're basically working in Climate Tech now 😅

Every minute shaved off = less CO2, cooler laptops, and happier devs.

We don't make the rules 🌍
November 2, 2025 at 5:14 PM