Android devs coming to teach you Dependency Injection in 2025.
Android devs coming to teach you Dependency Injection in 2025.
10.08.2025 21:49 β π 13 π 1 π¬ 1 π 0@jorgecastillo.dev.bsky.social
Android at Disney+. Author of Jetpack Compose internals. π¨βπ« Compose course composeinternals.com π Compose book jorgecastillo.dev/book
Android devs coming to teach you Dependency Injection in 2025.
Android devs coming to teach you Dependency Injection in 2025.
10.08.2025 21:49 β π 13 π 1 π¬ 1 π 01-star reviews hurt. Especially the random ones.
But Iβve learned to stop fighting them.
Just keep improving the product until they get absolutely drowned out by the 5-star ones.
Let quality win.
My main goal when creating the Compose internals course was for people to walk away knowing how Compose *really* works.
The target is curious devs that are tired of copying patterns they donβt understand.
If you want a course about the basic stuff, the official docs are good π€·ββοΈ
Remember when Spider-Man tried to write an Android app πΈοΈ
06.08.2025 21:47 β π 4 π 1 π¬ 1 π 0Not many people mentions this.
Developers love best practices, because thinking is hard.
But great engineers know when to break them, bend them, or create new ones. If you ever invented a pattern from scratch,
youβre already in the 1% of actually creative people that can make things evolve.
If you want to be 5 years ahead of everyone else:
Stop treating frameworks like black boxes.
Read the source. Understand the internals.
Youβll stop guessing and start building with intention π«‘
Thereβs so much I can share about Compose, but itβs impossible and unbearable to do it all on X.
For the full content, book the Jetpack Compose Internals course. I promise you will not regret π
composeinternals.com
The recomposer coordinates all of this, deciding when and on what thread to compose and when and on what thread to apply the changes.
Hope it was useful π«‘
The Composer (injected by the Compiler in all Composable functions) uses the notes recorded in the slot table (from last composition) to produce the next change list that updates the tree, in every recomposition.
02.08.2025 13:48 β π 1 π 0 π¬ 1 π 0The change list (emitted by Composables when they execute) is what updates the node tree. You can think of it as a patch file for the node tree that, when applied, updates the tree. The tree is built during composition, and gets updated on every recomposition.
02.08.2025 13:48 β π 1 π 0 π¬ 1 π 0In Compose, the slot table contains notes about what happened during composition, what was called, what parameters were used, etc.. It is where values are remembered and you can think of it as a method trace of the composition π§΅
02.08.2025 13:48 β π 3 π 1 π¬ 1 π 0We all suspected what the Lofi Girl was doing.
01.08.2025 09:08 β π 10 π 0 π¬ 1 π 0Toughest part of Android development isnβt learning Compose, mastering architecture or improving performance.
It is fragmentation. It has always been.
Thinking about it retrospectively, we put the biggest % of our time fighting that while testing, debugging and monitoring.
The Jetpack Compose Internals course has been on fire lately. More and more devs are giving super constructive feedback every day.
I honestly appreciate it, since talking about complex topics in simple terms is not easy. Took some good amount of effort and exploration to get there π«Ά
Writing tests is part of the work.
You donβt report βI wrote testsβ in standup
Just like you donβt say βI wrote code that compilesβ or βI wrote an abstractionβ.
Unless the culture expects you to brag about it for some weird reason.
How to kill the vibe 101
31.07.2025 08:10 β π 11 π 0 π¬ 2 π 0How to setup previews in Compose Multiplatform.
https://zsmb.co/compose-multiplatform-preview-setup/
Apps like Duolingo are more like a game that makes you feel progress. But the real way to learn a language is having to speak it every day. Nothing better than real world conversations with others. Thatβs a great use case for AI too.
29.07.2025 07:51 β π 5 π 0 π¬ 1 π 0Donβt feel bad for not learning new technologies quickly. You are all skilled more than enough to learn it quickly whenever you need to.
Donβt fall in the trap. FOMO is common but also irrational.
Share a piece of lore about your Android dev career
Share a piece of lore about your Android dev career
27.07.2025 20:50 β π 2 π 0 π¬ 2 π 1The official Android docs on test doubles are quite needed today. Please write fakes π , avoid mocks as possible. Assert output state, not behavior. Think of a program or a logical part of it as: input->output https://developer.android.com/training/testing/fundamentals/test-doubles
The official Android docs on test doubles are quite needed today.
Please write fakes π , avoid mocks as possible. Assert output state, not behavior. Think of a program or a logical part of it as: input->output
https://developer.android.com/training/testing/fundamentals/test-doubles
Sometimes you need to give people a little push
Sometimes you need to give people a little push
25.07.2025 15:03 β π 8 π 0 π¬ 0 π 0In Compose, each item in a LazyColumn is rendered through subcomposition.
β Itβs a separate child composition
β It has its own slot table for storing state
β That slot table can be reused later if the item scrolls back in (as long as the key is stable)
Always focus on the end goals, donβt get distracted by technologies or patterns. If you are not meeting your end goal expectations then youβre doing it wrong.
Example: Measure performance, not number of recompositions.
Tests are only useful if they catch regressions. If that is never the case for you, then think again what type of tests you have.
25.07.2025 06:20 β π 8 π 0 π¬ 0 π 0I forget about this constantly.
If you get a warning about one of your apps in the Google Play developer console, keep in mind that it could be caused by any of the releases published to any of your active tracks, even the testing ones (open or closed).
KMP
KMP
20.07.2025 13:52 β π 1 π 1 π¬ 0 π 0Sometimes you just need to look at things differently.
Youβre tired, but itβs from work you once wished for. Youβre overwhelmed, but itβs by the growth you used to hope for. Youβre challenged, but itβs by a life you chose. Youβve outgrown things you once thought were enough. Thatβs progress.
Compose added something wild:
PausableComposition lets the runtime start composing UI before itβs needed, split across idle frames, and pause/resume mid way. Really interesting to explore π§
https://blog.shreyaspatil.dev/exploring-pausablecomposition-internals-in-jetpack-compose
Things have changed a bit.
Things have changed a bit.
19.07.2025 14:54 β π 10 π 0 π¬ 0 π 0