Stay organized with collections Save and categorize content based on your preferences.

Jetpack Compose is a declarative UI toolkit that accelerates Android app development, helps developers be more productive, eliminates common bugs, and enables intuitive app design.

Android is invested in the continued development of Jetpack Compose as many developers love it, including Googlers. Several Google teams are using Jetpack Compose, including the Play Store.

How to get started

A best practice for tool adoption is to learn as a team, and to designate a champion to lead this learning effort. This person would act as a subject matter expert and would help build up the expertise of other team members. Other resources for getting started are listed below.
Compose makes heavy use of many of the great language benefits of Kotlin, and we suggest starting to migrate to Kotlin before jumping in with Compose.
The industry has been shifting toward declarative UI frameworks, such as Jetpack Compose, which eliminate common bugs and simplify adding animations.
Learning pathway
Start learning together using our in-depth course that covers intermediate and advanced topics, and encourage knowledge sharing along the learning journey.
Compose components adhere to Material Design (or to your own custom design system), and Compose supports themes.
Compose is fully interoperable with Android's view system so you don’t have to completely rewrite your app to benefit from Compose. This allows you to take advantage of your existing resources, and gives you flexibility on how to add Compose into an existing app. There are three common approaches to consider:
The most common approach is to start by writing new features in Compose. This approach has a lot of flexibility because you can use Compose for complete new screens, all the way down to an individual piece of UI such as a button. Twitter took this approach for their Communities feature.
Identifying a few of the more simple screens in your app as a starting point for migration is an easy way to start taking advantage of the benefits of Compose. This is an approach Monzo took when they were starting to dive into Compose.
If you're already planning a major UI redesign for your app, it might make more sense to do the full UI update in Compose. Typically teams build out UI components in Compose and then create screens from those components. The Mercari team took this approach.

Focus on features

Compose supports linear and tweened animations, animations with custom keyframes, and even dynamic spring animations.
With composables, you can set and review properties like size, locale, or light and dark mode as you work.
With Live Edit, you can see changes you make to a composable immediately on an emulator or device – there’s no need to rebuild your app.
Because Compose defines your UI with functions, you can test screens to buttons with the same APIs. Confidently significant updates to your app and test to confirm your features still work.