Software:Jetpack Compose

From HandWiki
Jetpack Compose
Official Jetpack Compose hexagonal 3D cube logo
Official Jetpack Compose hexagonal 3D cube logo
Developer(s)Google
Stable release
1.10.6[1] / March 25, 2026; 22 days ago (2026-03-25)
Written inKotlin
Operating systemAndroid
TypeLibrary
LicenseApache License
Websitedeveloper.android.com/develop/ui/compose

Jetpack Compose is an open-source reactive UI framework developed by Google for cross-platform development in Kotlin. 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.[2] For example, the following code defines a simple UI element:

@Composable
fun Greeting(name: String) {
    Text(text = "Hello $name")
}

History

The first preview of Jetpack Compose was announced at the Google I/O conference in May 2019.[3] The developer preview was released in October 2019,[4] and the alpha release occurred in August 2020.[5]

Compose entered its beta phase in February 2021, with its first production release taking place that July.[6]

Features

Jetpack Compose supports Android 5.0 and later.[7] It uses the Kotlin programming language, and provides a reactive programming model similar to other UI frameworks such as Flutter, Vue.js, and React Native.[3] Compose is designed to integrate seamlessly with existing Android apps and libraries, allowing developers to gradually migrate their apps to Compose.[6]

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.[8][9] The annotation is used by the Compose compiler to generate the UI boilerplate code.[9] 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.[10]

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.[11]

Jetpack Glance is a Jetpack Compose-based framework for developing widgets for Android.[12] Glance's first stable release occurred in September 2023.[13]

In September 2024, the 1.0 stable version of the Jetpack Compose APIs for building adaptive UIs with Material 3 was released.[14]

Usage

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."[8] 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.[15] In May 2024, this number had grown to 40%.[16]

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.[17][18] Google rewrote parts of Android's Settings app using Jetpack Compose in Android 14.[19] Meta Platforms developed its Threads social media app in five months using Jetpack Compose.[20][21] The Instagram for Android app has also been written using Jetpack Compose.[22]

Compose Multiplatform

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.[23][24][25] Version 1.0 alpha was released in August 2021.[8] iOS support was added in May 2023.[26]

See also

References

  1. "Stable Releases". https://developer.android.com/jetpack/androidx/versions/stable-channel. 
  2. Panjuta, Denis; Nwokike, Loveth (2023-12-12), "Basic Jetpack Compose Elements", Tiny Android Projects Using Kotlin (Boca Raton: Chapman and Hall/CRC): pp. 233–257, doi:10.1201/9781032622538-9, ISBN 978-1-032-62253-8, https://doi.org/10.1201/9781032622538-9, retrieved 2025-06-14 
  3. 3.0 3.1 Lardinois, Frederic (2019-05-07). "Google launches Jetpack Compose, an open-source, Kotlin-based UI development toolkit" (in en-US). https://techcrunch.com/2019/05/07/google-launches-jetpack-compose-an-open-source-kotlin-based-ui-development-toolkit/. 
  4. Protalinski, Emil (October 23, 2019). "Google launches Jetpack Compose developer preview and Android Studio 4.0 Canary". https://venturebeat.com/business/google-launches-jetpack-compose-developer-preview-and-android-studio-4-0-canary/. 
  5. Bradshaw, Kyle (August 26, 2020). "Jetpack Compose reaches Alpha ahead of full release next year". https://9to5google.com/2020/08/26/jetpack-compose-alpha/. 
  6. 6.0 6.1 Bradshaw, Kyle (July 28, 2021). "Google launches Jetpack Compose 1.0, making Android UI design easier w/ Kotlin". https://9to5google.com/2021/07/28/jetpack-compose-1-0-android-ui-kotlin/. 
  7. "Set up your Android project | Jetpack Compose". https://developer.android.com/develop/ui/compose/tooling/relay/android-project-setup. 
  8. 8.0 8.1 8.2 Anderson, Tim (6 August 2021). "Does the world need another cross-platform framework? Tough, here's JetBrains with Compose Multiplatform" (in en). https://www.theregister.com/2021/08/06/compose_for_desktop_kotlin_framework/. 
  9. 9.0 9.1 Sinicki, Adam (2019-11-10). "An introduction to Jetpack Compose for quick Android UI designs" (in en). https://www.androidauthority.com/introduction-to-jetpack-compose-1051253/. 
  10. "Thinking in Compose | Jetpack Compose" (in en). https://developer.android.com/develop/ui/compose/mental-model. 
  11. Krill, Paul (July 30, 2021). "Jetpack Compose for Android turns GA". https://www.infoworld.com/article/3627298/jetpack-compose-for-android-turns-ga.html. 
  12. "Jetpack Glance | Jetpack Compose" (in en). https://developer.android.com/develop/ui/compose/glance. 
  13. "Glance | Jetpack" (in en). https://developer.android.com/jetpack/androidx/releases/glance. 
  14. Vanyo, Alex (9 September 2024). "Jetpack Compose APIs for building adaptive layouts using Material guidance now stable" (in en). https://android-developers.googleblog.com/2024/09/jetpack-compose-apis-for-building-adaptive-layouts-material-guidance-now-stable.html. 
  15. Nikolov, Lazar (April 19, 2023). "Build better Jetpack Compose apps with Sentry". https://www.infoworld.com/article/3693018/build-better-jetpack-compose-apps-with-sentry.html. 
  16. Developer Keynote (Google I/O '24). 2024-05-14. Retrieved 2024-12-24 – via YouTube.
  17. Flynn, Andrew; Boekenoogen, Jon (10 March 2022). "Play Time with Jetpack Compose" (in en). https://android-developers.googleblog.com/2022/03/play-time-with-jetpack-compose.html. 
  18. Li, Abner (Mar 10, 2022). "Google rewrote the Play Store's UI with Jetpack Compose for up to 50% less code, faster rendering". https://9to5google.com/2022/03/10/google-play-jetpack-compose/. 
  19. Bradshaw, Kyle (February 14, 2023). "Google is gradually rewriting Android's Settings app with Jetpack Compose". https://9to5google.com/2023/02/14/android-14-settings-app-jetpack-compose/. 
  20. Evjen, Yasmine; Muntenescu, Florina (27 October 2023). "Meta built threads in only 5 months using Jetpack Compose". https://android-developers.googleblog.com/2023/10/meta-built-threads-in-only-5-months-using-jetpack-compose.html. 
  21. Li, Abner (March 4, 2024). "Google on how Meta sped up its Android 14 app updates". https://9to5google.com/2024/03/04/google-meta-android-apps/. 
  22. Hartig, Pascal (2025-01-24). "Bringing Jetpack Compose to Instagram for Android" (in en-US). https://engineering.fb.com/2025/01/24/android/bringing-jetpack-compose-to-instagram-for-android/. 
  23. "Compose Multiplatform – Beautiful UIs Everywhere" (in en). https://www.jetbrains.com/compose-multiplatform/. 
  24. "What's new in Compose Multiplatform 1.8.1 | Kotlin Multiplatform" (in en-US). https://www.jetbrains.com/help/kotlin-multiplatform-dev/whats-new-compose-180.html. 
  25. "Compatibility and versions | Kotlin Multiplatform" (in en-US). https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-compatibility-and-versioning.html. 
  26. Krill, Paul (2023-05-19). "JetBrains adds iOS support to cross-platform UI framework" (in en). https://www.infoworld.com/article/3697271/jetbrains-adds-ios-support-to-cross-platform-ui-framework.html.