Over the summer, Google released JetPack Compose in version 1.0. JetPack Compose, or more simply Compose is a toolbox that Google presented in perversion during the Android Dev Summit 2019. Google describes Compose as a modern toolbox for creating a native Android user interface.
Compose is based on a declarative programming model. So you can just describe how your user interface looks. Compose takes care of the rest. Compose is built with the Kotlin language. As such, it is fully interoperable with the Java programming language and has direct access to all Android and Jetpack APIs.
According to Google, this version 1.0 offers the key features you need, namely:
Interoperable: Compose is designed to interact with your existing application. You can embed composition user interfaces into views or views in Compose. You can add as little as a single button to a screen or keep that custom view you created in a composition screen now. Jetpack Integration: Compose is designed to integrate with the Jetpack libraries you already know and love. With integration with Navigation, Paging, LiveData (or Flow / RxJava), ViewModel and Hilt, Compose works with your existing architecture.Material: Compose offers an implementation of Material Design components and themes, making it easy to build beautiful applications that reflect your brand. The Material theme system is easier to understand and plot, without having to go through multiple XML files. Lists: Compose’s Lazy components provide a simple, succinct, yet powerful way to display lists of data efficiently, with minimal boilerplate.Animation: Compose’s simple and consistent animation APIs make it much easier to delight users of your application.
Google points out that Jetpack Compose’s fully declarative approach dramatically changes the way you develop the user interface. Google offers a 4-lesson tutorial here. Its full sample applications are available on GitHub.
JetPack Compose has an official site: developer.android.com/jetpack/compose