Architecture and state
Learn how to create a functioning app, using navigation, advanced state and side effects.
Go back
Compose phases
Learn how Jetpack Compose transforms data into UI.
Architecting your Compose UI
This guide focuses on how to implement the unidirectional data flow pattern in Compose, how to implement events and state holders, and how to work with ViewModels in Compose.
A Compose state of mind
Learn about Compose's state model and the Composition, when to hoist state and create state holders or use AAC ViewModels, and how to mutate state when you're outside the Composition safely so that these changes are tracked by Compose.
Where to hoist your state
Learn how and where to hoist state in Jetpack Compose.
Advanced state and side effects
Learn advanced concepts related to state and side effects APIs in Jetpack Compose. Learn how to create a state holder for complex stateful composables, create coroutines and call suspend functions from Compose code, and trigger side effects for different use cases.
Navigation best practices
Learn best practices for using Navigation Compose to set you up for expanding your navigation graph across multiple modules in a way that maintains type safety across all navigation calls.
State holders and state production
Compose displays application data on the screen. But how is it done exactly? This video dives deep into the UI state production pipeline and state holders that manage UI complexity. Get to know the differences between UI and business logic, a ViewModel and a plain state holder class, state and events, and more! What is all that, when to use which, and how to do it.