Compose essentials

Take your first steps with Jetpack Compose and learn about composable functions, basic layouts and state, Material Design, lists and animations.


Starter tutorial

Learn the basics of Compose, and how to build a simple UI component with declarative functions. Understand composable functions, basic layouts, and how Material Design, lists and animations work in Compose.

Thinking in Compose


Learn how to think in Compose and shift your thinking to focus on "what" and not "how".

Composable functions


Learn the building blocks of Compose: composable functions.

Write your first Compose app


Go hands-on and learn the fundamentals of declarative UI, working with state, layouts, and theming. You'll see what composables and modifiers are, how to work with basic UI elements such as Row and Column, and how to give state to your app.

The Compose UI toolkit


Learn about the set of composables that are part of the Compose toolkit: Material Design components, layouts, modifiers, and more.

Implement a real-world design


In this codelab, you’ll learn how to implement real-world designs with the composables and modifiers that Compose provides out of the box.

Get started with state


Learn how the app's state determines what is displayed in the UI, how Compose keeps the UI updated when state changes, how to optimize the structure of your composable functions, and work with ViewModels in a Compose app.

Accelerate with tooling


Learn how to accelerate your development using Compose-specific tooling in Android Studio.

Migrate from the View system

Video Optional

Have an existing app built with Views? Learn how to take an incremental approach to migrating.

Hands-on migration

Codelab Optional

Walk through a practical migration of a View based app to Jetpack Compose to understand how to incrementally adopt Compose, and explore the implications for your architecture and testing.


Test what you've learned and earn your Compose essentials badge.