Jetpack Compose
Master Android's modern declarative UI toolkit from fundamentals to advanced animations and custom components
16-18 weeks (Core) + 4-6 weeks (Deep Dive)
12.8k students
4.9 rating
Progress0/195 lessons
Key Topics You'll Master
1
Compose Fundamentals2
Basic UI Components3
Layouts and Arrangement4
State Management5
Side Effects and Lifecycle6
Lists and Lazy Components7
Forms, Input Validation, and Focus8
Dialogs, Bottom Sheets, and Scaffold9
Theming and Styling10
Navigation and Screen Management11
Animations and Transitions12
Gestures and Input Handling13
Custom Composables and Components14
Integration and Interoperability15
Testing Compose UIs16
Performance Optimization17
Window Insets and Adaptive Layouts18
CompositionLocal and Advanced Theming19
Graphics Layer and Advanced Drawing20
Advanced Topics and Best Practices21
Deep Dive: Nature of Composable Functions22
Deep Dive: The Compose Compiler23
Deep Dive: Runtime, Slot Table & UI Materialization24
Deep Dive: Snapshot State & Concurrency (MVCC)25
Deep Dive: Smart Recomposition26
Deep Dive: Effects & LifecycleMaster Jetpack Compose1:1 Coaching
Stuck on advanced concepts like Side Effects or Graphics Layer? Get unblocked with a personalized session from a GDE.
Interested in the 7-Day Sprint Cohort?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
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
Side Effects and LifecycleMaster side effects APIs to bridge Compose with external systems
Understanding Side Effects in Compose
video • 20 min
LaunchedEffect for Coroutine-based Effects
video • 22 min
rememberCoroutineScope for Event Handlers
video • 18 min
DisposableEffect for Cleanup
video • 20 min
SideEffect for Non-Compose State Sync
video • 15 min
produceState for Async Data to State
video • 18 min
rememberUpdatedState for Capturing Latest Values
video • 15 min
Effect Keys and Restart Behavior
article • 12 min
Practice: Building a Timer with Effects
exercise • 45 min
6
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
7
Forms, Input Validation, and FocusBuild robust forms with validation, focus management, and keyboard handling
TextField Variants and Configuration
video • 20 min
Input Validation Patterns
video • 22 min
FocusRequester and FocusManager
video • 18 min
Keyboard Actions and IME Options
video • 15 min
Form State Management with StateHolder
video • 20 min
Visual Transformation and Masking
video • 15 min
Error Handling and Feedback UI
article • 12 min
Practice: Multi-Field Registration Form
exercise • 50 min
8
Dialogs, Bottom Sheets, and ScaffoldModal UI patterns and scaffold-based layouts for complete screens
AlertDialog and Custom Dialogs
video • 20 min
ModalBottomSheet Implementation
video • 22 min
Scaffold, TopAppBar, and FAB
video • 25 min
Snackbar and SnackbarHost
video • 18 min
Drawer Layouts (ModalNavigationDrawer)
video • 20 min
Popup and DropdownMenu
video • 15 min
Modal State Management Best Practices
article • 12 min
Practice: Settings Screen with Dialogs
exercise • 45 min
9
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
10
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
11
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
12
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
13
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
14
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
15
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
16
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
17
Window Insets and Adaptive LayoutsEdge-to-edge design, safe areas, and layouts for all screen sizes
Understanding WindowInsets in Compose
video • 22 min
Edge-to-Edge Implementation
video • 20 min
System Bars and Keyboard Insets
video • 18 min
imePadding and consumeWindowInsets
video • 15 min
Adaptive Layouts with WindowSizeClass
video • 25 min
ListDetailPaneScaffold for Large Screens
video • 22 min
Foldable Device Support
video • 18 min
Testing on Different Screen Sizes
article • 12 min
Practice: Adaptive Email Client Layout
exercise • 60 min
18
CompositionLocal and Advanced ThemingImplicit data passing and advanced theming techniques
CompositionLocal Fundamentals
video • 20 min
staticCompositionLocalOf vs compositionLocalOf
video • 15 min
Creating Custom CompositionLocals
video • 18 min
When to Use CompositionLocal vs Parameters
article • 12 min
Practice: App-wide Settings with CompositionLocal
exercise • 35 min
19
Graphics Layer and Advanced DrawingCustom graphics, shaders, and advanced visual effects
graphicsLayer Modifier Deep Dive
video • 22 min
drawBehind and drawWithContent
video • 20 min
Blend Modes and Color Filters
video • 18 min
Path Drawing and Curves
video • 25 min
RuntimeShader and AGSL Introduction
video • 20 min
Image Filters and Effects
video • 18 min
Performance Considerations for Graphics
article • 12 min
Practice: Custom Animated Background
exercise • 50 min
20
Advanced Topics and Best PracticesExplore advanced Compose features and establish best practices
Compose BOM and Dependency Management
video • 15 min
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
Baseline Profiles for Performance
video • 18 min
Compose Compiler Metrics
video • 12 min
Future of Compose Development
article • 15 min
Final Project: Complete Compose App
exercise • 90 min
21
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
22
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
23
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
24
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
25
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
26
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