Jetpack Compose is an open-sourcereactive UIframework developed byGoogle forcross-platform development inKotlin. The first preview was announced in May 2019, and the framework was made ready forproduction in July 2021.
In Compose, a user interface is defined using functions that have been annotated with the@Composable annotation, which are known as composable functions and define the screen'sstate. Jetpack Compose uses a Kotlin compiler plugin to transform composable functions into UI elements.[1] For example, the Text composable function displays a text label on the screen.
The first preview of Jetpack Compose was announced at theGoogle I/O conference in May 2019.[2] The developer preview was released in October 2019,[3] and thealpha release took place in August 2020.[4]
Compose entered itsbeta phase in February 2021, with its first production release taking place that July.[5]
Jetpack Compose supportsAndroid 5.0 and later.[6] It uses theKotlin programming language, and provides areactive programming model similar to other UI frameworks such asFlutter,Vue.js, andReact Native.[2] Compose is designed to integrate seamlessly with existing Android apps and libraries, allowing developers to gradually migrate their apps to Compose.[5]
In Compose, a user interface is defined using functions that have been annotated with the@Composable annotation, which are known as composable functions and define the screen'sstate.[7][8] The annotation is used by the Compose compiler to generate the UIboilerplate code.[8] When the state is updated, composable functions are called again with new data, which causes the widgets they emit to be redrawn in a process known as recomposition. Recomposition is only performed for composable functions that need to be updated, which improves UI efficiency.[9]
The 1.0 release introduced Compose Preview, which is built intoAndroid Studio starting with Arctic Fox. It allows composables to be previewed using different configurations without deploying the app to a device.[10]
Jetpack Glance is a Jetpack Compose-based framework for developingwidgets for Android.[11] Glance's first stable release took place in September 2023.[12]
In September 2024, the 1.0 stable version of the Jetpack ComposeAPIs for building adaptive UIs withMaterial 3 was released.[13]
At the time of Jetpack Compose's 1.0 release, Google said, "There are already over 2,000 apps in thePlay Store using Compose – in fact, the Play Store app itself uses Compose."[7] As of October 2022, 16% of the top 1000 apps on the Play Store included Compose. The apps included those from companies such asAirbnb,Lyft andSquare.[14] In May 2024, this number had grown to 40%.[15]
In 2022, Google detailed how it utilized Jetpack Compose as part of its rewrite of the Play Store app, stating that "writing UI requires much less code, sometimes up to 50%" and that the developers were able to improve the app's performance.[16][17] Google rewrote parts of Android's Settings app using Jetpack Compose inAndroid 14.[18]Meta Platforms developed itsThreads social media app in five months using Jetpack Compose.[19][20] TheInstagram for Android app has also been written using Jetpack Compose.[21]
Compose Multiplatform is a multi-platform UI framework developed byJetBrains and based on Jetpack Compose. It is aport of Jetpack Compose forWindows,macOS,Linux and the web.[22][23][24] Version 1.0 alpha was released in August 2021.[7]iOS support was added in May 2023.[25]