Rivu Chakraborty's Cohort Based Courses

Master Jetpack Compose | Beginner to Advanced

By Rivu Chakraborty on Oct 5, 2023
Jump to Fees and Enrollment
  • 3+ hours of Live Classes on Each Weekends (IST) for the Duration of the Course
  • 1:1 Mentorship Sessions every other week
  • Lifetime access to the cohort recordings
  • Lifetime access to the Network and Community
  • Open forums and interaction with the cohort
  • Doubt resolution during and post live sessions
  • Language of communication will be strictly english
  • Courses are not focused towards interview preparation, rather it's focused on having in depth understanding of tech
Image post 2

Registration open for last few days, will be closed on 13 th October, for the first batch, starting on 14 th October.

This course is for Android Developers, with a fair understanding of Android basics, Architecture patterns, etc. We’ll start with an introduction to Jetpack Compose, and how to use it, and slowly we’ll move on to the advanced stuff, and learn the internal workings of Jetpack Compose, and performance optimizations. We’ll do theoretical as well as hands-on. Below is the content we’ll cover in this course, divided in week by week basis.

Week 1 - Getting Started

  • Why there was need of compose, an overview of the past in Android UI system
  • Our First Composable
  • Introduction to various Composable Layouts
    • Row and Column
    • Box
    • Constraint Layout
  • Working with Lists
  • Working with Text Inputs (TextFields)
  • Scaffold and TopAppBar
  • Adding some basic user interaction
  • Composable previews
  • Compose Navigation and Working with Multiple Screens
  • Creating a list of elements. Column and Row. Scrolling modifiers

Week 2 and 3 - State Management and Recomposition

  • Adding basic state to our screens
  • Conditional composition
  • Recomposition, what is it?
  • 3 stages of Composition
  • Modelling State
  • Snapshot States
  • State Hoisting
  • Statefull and Stateless Composables
  • Data and Class Stability
    • @Stable
    • @Immutable etc.
  • Using remember
  • Introduction to Effects
    • LaunchedEffect
    • SideEffect
    • DisposableEffect
  • Async image loading
  • Android resources
  • State holders
  • Integration with AAC ViewModel
  • Saving and restoring state
    • rememberSaveable
  • State comparison strategies and Comparison Propagation
  • The key Composable

Week 4 and 5 - Modifiers

  • Modifiers
  • Using first Modifiers
  • Modifiers chain and order of precedence
  • Deep dive into Layout and Draw Modifiers
  • Creating first Modifiers
  • Reusing modifiers
  • Creating a custom layout. The Layout Composable
  • Measure / layout pass in-depth
  • Intrinsics
  • Drawing in Jetpack Compose
    • DrawScope
    • Canvas
    • RenderNodes for efficient drawing
    • Graphic layers
  • Draw modifiers in-depth
  • Drag and swipe gestures
  • Internal PiP (Picture in Picture) with Swippable
  • Delaying composition with SubcomposeLayout
  • Conditional composition in depth
  • Composition trees

Week 6 - Deep Dive into Effects

  • Deep dive into Effects
  • Keeping effects testable / isolated
  • Constraining effects by the Composable lifecycle
  • How effects are modeled and dispatched by the runtime. The order of dispatch

Week 7 - Lists, Pagers and Pagination

  • Deep dive into various types of Lazy Listing
    • LazyColumn
    • LazyRow
    • LazyGrid
  • View Pagers and Tabs
  • Different ways to implement pagination in Compose

Week 8 - Internals and Optimisations

  • Returning values from Composable Functions
  • Composer and Gap Buffer
  • Slot Table
  • Refresher on 3 Stages of Composition
  • Deep dive into Recomposition
  • Skippable
  • How remember works
  • In which scenarios remember will not work
  • Performance benchmarking
  • Measuring frames
  • Compose Compiler Metrics
    • Generating Reports
    • Understanding Them
    • Acting on them
  • Gfxinfo
  • Compose tracing
  • Perfetto

Week 9 and 10 - Themes and Design Systems

  • Introduction to theming in Compose
  • CompositionLocals
  • Providing values for the theme
  • Reading values from the theme
  • Nesting themes and overriding values
  • Material Design
  • Extending MaterialTheme
  • Writing custom themes
  • Creating own Design System
  • Deep dive into the Material components
  • Supporting dark / light mode
  • Typography
  • Support dynamic theme following the system wallpaper

Week 11 - Animations

  • Writing First Animation in Compose
  • Animations as suspend functions
  • Available Animation APIs and how to use them
  • Advanced Animation

Week 12 - Architecture

  • Unidirectional Data Flow
  • Why and How Compose is more suited for UDF/MVI/Redux
  • Single Activity (all Compose) vs Fragments with Compose
  • Compose Navigation and Compose Destinations
  • Different Architecture Libraries
    • Mobius
    • Mavericks
    • Decompose
  • Dependency injection in Composable functions. Scoping

Week 13 - Semantics, Testing and TDD

  • Semantics
    • Adding Semantics
    • Semantic Trees, Merging and Unmerging
    • Merging Policies
    • How semantics are handled / wired in Android
    • Tools leveraging the semantic trees
  • UI testing our Composables
  • Screenshot testing our Composables. Shot, Paparazzi, Showkase
  • Using Maestro with Composables
  • Using TDD while writing Composable Functions

Week 13 - Bringing it all Together

  • Create a complex App (Spotify/Youtube/Netflix/Twitter clone) with Jetpack Compose, using best practices learned throughout the course. Guided by me (Rivu Chakraborty)

Optional Extras (paid extra ₹5000) - Week 15 and 16

  • Server-Driven-UI with Jetpack Compose, both backend and frontend covered
  • Compose Multiplatform (will cover the below ones as well)
  • Compose for Desktop
  • Compose for Web
  • Compose for Large Screens
  • Jetpack Compose on Wear OS
  • Migrating from XML to Compose
    • First Compose in an existing app with XML
    • Migration strategies
    • Migrating design system from XML to Compose
    • Optimising composables to display Inside RecyclerView

Course Fees

₹25,000 /- + Optional Additional Week (₹5000).

Additional weeks can be purchased later, without any price hikes if you decide to go for without additional weeks for now.

Enrollments for next batch will be announced soon. The courses and the structure will be revisited, keep an eye here.
© Copyright 2024 by Rivu Chakraborty | Kotlin, Compose and Android Courses. Built with ♥ by CreativeDesignsGuru.