Jetpack Compose
Master Android's modern declarative UI toolkit from fundamentals to advanced animations and custom components
10-12 weeks (Core) + 4-6 weeks (Deep Dive)
12.8k students
4.9 rating
Progress0/146 lessons
Key Topics You'll Master
1
Compose Fundamentals2
Basic UI Components3
Layouts and Arrangement4
State Management5
Lists and Lazy Components6
Theming and Styling7
Navigation and Screen Management8
Animations and Transitions9
Custom Composables and Components10
Gestures and Input Handling11
Integration and Interoperability+8
more...Learning Outcomes
- Build complete Android UIs with Compose
- Master state management and data flow
- Create complex animations and transitions
- Implement custom composables and modifiers
- Design responsive layouts for different screen sizes
- Integrate Compose with existing View-based apps
- Optimize Compose performance and handle edge cases
- Test Compose UIs effectively
- Explain Compose internals (compiler/runtime/snapshots) to interviewers
Prerequisites
- Basic Android development knowledge
- Solid understanding of Kotlin
- Familiarity with Android Studio
- Understanding of UI/UX principles
- Basic knowledge of reactive programming concepts
1
Compose FundamentalsCore concepts of declarative UI and basic Compose building blocks
Declarative vs Imperative UI
video • 20 min
Compose Setup and First Composable
video • 25 min
Composable Functions and @Composable
video • 18 min
Compose Compiler and Runtime
video • 22 min
Preview and Tooling Support
video • 15 min
Composition and Recomposition
article • 20 min
Practice: Hello Compose App
exercise • 30 min
2
Basic UI ComponentsEssential Compose components for building user interfaces
Text and Typography
video • 20 min
Buttons and Interactive Elements
video • 22 min
Images and Icons
video • 18 min
TextFields and Input Components
video • 25 min
Cards and Surface Components
video • 15 min
Dividers and Spacers
video • 12 min
Component Accessibility
article • 15 min
Practice: Basic UI Components
exercise • 40 min
3
Layouts and ArrangementMaster layout composables and create responsive designs
Column and Row Basics
video • 18 min
Box Layout and Positioning
video • 20 min
Arrangement and Alignment
video • 22 min
Modifier System Deep Dive
video • 30 min
Padding, Spacing, and Sizing (no margins in Compose)
video • 15 min
ConstraintLayout in Compose
video • 25 min
Responsive Design Patterns
video • 20 min
Custom Layout Composables
video • 28 min
Layout Performance Considerations
article • 18 min
Practice: Complex Layout Design
exercise • 60 min
4
State ManagementHandle state effectively in Compose applications
State in Compose Fundamentals
video • 25 min
remember and mutableStateOf
video • 20 min
rememberSaveable & process-death: SavedStateHandle patterns
video • 12-15 min
State Hoisting Patterns
video • 22 min
derivedStateOf and Computed State
video • 18 min
ViewModel Integration
video • 25 min
StateFlow/Flow (and when to keep LiveData)
video • 22 min
State Restoration and Saving
video • 20 min
Complex State Management Patterns
video • 28 min
State Management Best Practices
article • 15 min
Practice: State-Driven UI
exercise • 50 min
5
Lists and Lazy ComponentsBuild efficient scrollable lists and grids
LazyColumn and LazyRow Basics
video • 22 min
LazyVerticalGrid and LazyHorizontalGrid
video • 20 min
List Item Keys and Performance
video • 18 min
Sticky Headers and Sections
video • 15 min
Pull to Refresh Implementation
video • 20 min
Paging 3 + Lazy lists (load states, separators, refresh)
video • 25 min
Custom List Layouts
article • 15 min
Practice: Advanced List Implementation
exercise • 45 min
6
Theming and StylingCreate beautiful and consistent visual designs
Material Design 3 in Compose
video • 25 min
Color Systems and Palettes
video • 20 min
Typography and Text Styling
video • 18 min
Shape System and Custom Shapes
video • 22 min
Dark Theme Implementation
video • 15 min
Dynamic Color and Material You
video • 20 min
Custom Theme Creation
video • 25 min
Theme Testing and Previews
article • 12 min
Practice: Custom Theme Design
exercise • 40 min
7
Navigation and Screen ManagementImplement navigation patterns and screen transitions
Navigation Component for Compose
video • 25 min
NavHost and NavController Setup
video • 20 min
Route Parameters and Arguments
video • 18 min
Predictive Back + BackHandler, state restore, and multiple back stacks
video • 25 min
Bottom Navigation Implementation
video • 22 min
Drawer Navigation and Rails
video • 20 min
Deep Linking and Navigation
video • 15 min
Navigation Testing Strategies
article • 15 min
Practice: Multi-Screen Navigation
exercise • 50 min
8
Animations and TransitionsCreate smooth animations and delightful user experiences
Animation Fundamentals in Compose
video • 20 min
animate*AsState Functions
video • 18 min
Transition API and States
video • 25 min
AnimatedVisibility and Enter/Exit
video • 22 min
AnimatedContent for Content Changes
video • 20 min
Custom Animations with Animatable
video • 28 min
Gesture-Based Animations
video • 25 min
Shared Element Transitions
video • 30 min
Animation Performance Tips
article • 15 min
Practice: Advanced Animation Showcase
exercise • 70 min
9
Custom Composables and ComponentsBuild reusable custom components and advanced UI patterns
Creating Custom Composables
video • 22 min
Composable APIs and Parameters
video • 18 min
Slot APIs and Content Composables
video • 25 min
Custom Modifier APIs (+ Modifier.Node in modern Compose)
video • 20 min
Canvas and Custom Drawing
video • 30 min
Component Libraries and Design Systems
video • 15 min
Composable Testing Strategies
article • 18 min
Practice: Custom Component Library
exercise • 60 min
10
Gestures and Input HandlingHandle touch gestures, drag and drop, and complex interactions
Pointer Input and Touch Events
video • 22 min
Drag and Drop Implementation
video • 25 min
Nested scroll & BringIntoView: coordinating scroll behaviors
video • 25 min
Swipe Gestures and Dismissal
video • 20 min
Multi-touch and Zoom Gestures
video • 18 min
Custom Gesture Detection
video • 22 min
Accessibility and Gesture Support
article • 15 min
Practice: Gesture-Rich Interface
exercise • 45 min
11
Integration and InteroperabilityIntegrate Compose with existing View system and third-party libraries
Compose in View-based Apps
video • 25 min
View in Compose with AndroidView
video • 20 min
Fragment Integration Patterns
video • 18 min
WebView and Maps Integration
video • 22 min
Third-party Library Adaptation
video • 15 min
Migration Strategies
article • 20 min
Practice: Hybrid App Development
exercise • 50 min
12
Testing Compose UIsComprehensive testing strategies for Compose applications
Compose Testing Fundamentals
video • 20 min
ComposeTestRule and Test Setup
video • 18 min
Finding and Interacting with Nodes
video • 22 min
Assertions and Verifications
video • 15 min
Semantics matchers, idling, and flake-proof waits (runOnIdle, waitUntil)
video • 20 min
Testing State and Interactions
video • 20 min
Screenshot Testing
video • 15 min
Testing Best Practices
article • 12 min
Practice: Comprehensive Test Suite
exercise • 45 min
13
Performance OptimizationOptimize Compose performance and handle complex scenarios
Compose Performance Fundamentals
video • 25 min
Recomposition Optimization: stable data classes, equals(), derivedStateOf
video • 22 min
Stability and Immutability
video • 20 min
LazyList Performance Tuning
video • 18 min
@Stable/@Immutable, snapshotFlow pitfalls, and tracing recompositions (Layout Inspector & compiler metrics)
video • 25 min
Memory Management in Compose
video • 15 min
Performance Profiling Tools
video • 20 min
Common Performance Pitfalls
article • 15 min
Practice: Performance Optimization
exercise • 40 min
14
Advanced Topics and Best PracticesExplore advanced Compose features and establish best practices
Compose Multiplatform Overview
video • 20 min
Architecture Patterns with Compose
video • 25 min
Accessibility in Compose
video • 18 min
Internationalization and Localization
video • 15 min
Compose Compiler Metrics
video • 12 min
Future of Compose Development
article • 15 min
Final Project: Complete Compose App
exercise • 90 min
15
Deep Dive: Nature of Composable FunctionsFormal properties and why Compose can re-run code safely
Composable function properties: idempotent, side-effect-free, restartable
video • 22 min
Calling context & colored functions; similarities with suspend
article • 16 min
Positional memoization & why parameter order matters
video • 18 min
Exercise: Rewrite a side-effecting composable into a pure one
exercise • 35 min
16
Deep Dive: The Compose CompilerWhat the Kotlin compiler plugin generates and how stability is inferred
Annotations, IR lowering, and injecting the Composer
video • 24 min
Stability inference, default params, and control-flow groups
video • 24 min
Lambda memoization & comparison propagation
article • 18 min
Live literals, version checks, klib/decoy generation (overview)
article • 14 min
Exercise: Use compiler metrics to spot unnecessary recompositions
exercise • 45 min
17
Deep Dive: Runtime, Slot Table & UI MaterializationHow the Composer builds, updates, and draws the UI tree
Slot table, groups, reads/writes; recompose scopes
video • 26 min
Appliers, LayoutNode lifecycle, and modifier chains
video • 24 min
Measuring policies, intrinsic measurements, constraints
article • 18 min
Semantics: merged vs unmerged trees & accessibility signals
article • 15 min
Exercise: Instrument a custom Layout + measure pass logging
exercise • 50 min
18
Deep Dive: Snapshot State & Concurrency (MVCC)StateObjects/Records, snapshots, and conflict merging
What snapshot state is; MVCC model & snapshot tree
video • 22 min
Observing reads/writes, nested snapshots, threading
article • 18 min
Change propagation & merging write conflicts
video • 20 min
Exercise: Diagnose a missed snapshot read in a list screen
exercise • 40 min
19
Deep Dive: Smart RecompositionSkippability, keys, stability, and concurrent recomposition
Skips via stability & equality; when comparison fails
video • 20 min
Keys, derivedStateOf, and minimizing invalidations
article • 16 min
Recomposer & concurrent recomposition (pitfalls & patterns)
video • 20 min
Exercise: Make a dashboard skippable without sacrificing correctness
exercise • 45 min
20
Deep Dive: Effects & LifecycleSideEffect, DisposableEffect, LaunchedEffect, rememberUpdatedState—what actually happens
Non-suspended vs suspended effects; lifecycle semantics
video • 20 min
Keying effects correctly; avoiding stale closures
article • 15 min
Adapters for 3rd-party libs (e.g., listeners, callbacks)
video • 18 min
Exercise: Refactor side-effects out of composables safely
exercise • 40 min