Jetpack Compose | |
---|---|
Developer(s) | |
Repository | |
Written in | Kotlin |
Operating system | Android |
Type | Library |
Website | developer |
Jetpack Compose is an open-source Kotlin-based declarative UI framework for Android developed by Google. The first preview was announced in May 2019, and the framework was made ready for production 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's state. 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 the Google I/O conference in May 2019. [2] The developer preview was released in October 2019, [3] and the alpha release took place in August 2020. [4]
Compose entered its beta phase in February 2021, with its first production release taking place that July. [5]
Jetpack Compose supports Android 5.0 and later. [6] It uses the Kotlin programming language, and provides a reactive programming model similar to other UI frameworks such as Vue.js and React 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's state. [7] [8] The annotation is used by the Compose compiler to generate the UI boilerplate 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 into Android Studio starting with Arctic Fox. It allows composables to be previewed using different configurations without deploying the app to a device. [10]
In September 2024, the 1.0 stable version of the Jetpack Compose APIs for building adaptive UIs with Material 3 was released. [11]
At the time of Jetpack Compose's 1.0 release, Google said, "There are already over 2,000 apps in the Play 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 as Airbnb, Lyft and Square. [12] In May 2024, this number had grown to 40%. [13]
Google rewrote parts of Android's Settings app using Jetpack Compose in Android 14. [14] Meta Platforms developed its Threads social media app in five months using Jetpack Compose. [15] [16] The Instagram for Android app has also been written using Jetpack Compose. [17]
Compose Multiplatform is a multi-platform UI framework developed by JetBrains and based on Jetpack Compose. It is a port of Jetpack Compose for Windows, macOS, Linux and the web. [18] [19] [20] Version 1.0 alpha was released in August 2021. [7] iOS support was added in May 2023. [21]