UI: the View system & intro to Compose
RecyclerView and View performance, Navigation, then Compose from scratch: recomposition, state, side effects and interop.
⬜⬜⬜⬜⬜
1. RecyclerView, ViewBinding, ConstraintLayout — performance
uiviews
2. Navigation Component & deep links
uijetpack
3. Compose fundamentals: composables, recomposition, state
uicompose
4. Compose state management & side effects
uicompose
5. Compose ↔ View interop & migration
uicompose
🎯 Stage assignment
Stage project — "the same screen in both worlds" (4-5 hours).
Write the transaction feed twice — in XML and in Compose — and compare:
- The XML version:
RecyclerView+ListAdapter/DiffUtil+ViewBinding+ aConstraintLayoutitem. - The Compose version:
LazyColumn+key+ a state-hoisted item composable. - Bind both to the same ViewModel (
StateFlow) — the data layer must not change. - Host the Compose version in a fragment via
ComposeViewwith an explicitViewCompositionStrategy. - Measure a few updates with Layout Inspector's recomposition counts.
Done when: you have written down the line counts, the readability difference and the 3 problems you hit — that is exactly the migration answer.