Version First Edition
Platform Android 11
Language Kotlin 1.4
Editor Android Studio Canary

In this book, you’ll learn how to build a powerful app using Jetpack Compose, how to style your apps using Material Design, special animations and state transitions, how to use modifiers and much more! This book will serve you as a central point that holds all the information you need to dive deep into Jetpack Compose, then apply it to your personal and production level projects.

You’ll focus on learning Jetpack Compose not only through theory, but also through real-world project examples.

After reading this book, you’ll become a true expert on the topic and you’ll learn how to switch your mindset and start to think in Jetpack Compose and declarative programming.

Before You Begin

This section tells you a few things you need to know before you get started, such as what hardware and software you’ll need, where to find the project files for this book, and more.

i

iii

Section I: Getting Started with Jetpack Compose

Android UI Toolkit is over 10 years old now! Over the years, it has received numerous updates in terms of functionality, types of UI elements it provides and optimizations. But because of the way the UI team initially developed the toolkit, it also grew in complexity and the amount of code for even the simplest of components.

Finally, in 2020, a miracle happened: Jetpack Compose. The new UI toolkit was announced and started being seriously developed by Google. Jetpack Compose is a new and fresh toolkit, built completely in Kotlin, that offers a clean and declarative way to develop custom components and beautiful interfaces.

In this section, you’ll learn all about:

  • The fundamental components Jetpack Compose provides.
  • How to build common user interface components such as containers, navigation controls and lists.

In these four chapters, you’ll dive deep into the API and learn so much about this wonderful new UI toolkit.

Over the years, the Android UI toolkit has been developed to provide multiple different approaches when it comes to writing user interface code. From developing a fully programmatic interface or writing XML-powered layouts, to using different libraries with custom DSLs, there have been many solutions to the same issue of reusability, scalability and performance. Review legacy ways of writing UI code, and explore the new and awesome UI toolkit called Jetpack Compose.

1

Learn more about the theory of composable functions by trying out the basic Jetpack Compose components. Each composable function has a code sample and is shown inside the app.

2

The chapter covers the theory behind composable layouts and instructions on how to use those layouts to group basic elements into a more complex UI.

3

This chapter covers the theory behind scrollable containers and building dynamic horizontal and vertical lists in Jetpack Compose.

4

Section II: Composing User Interfaces

When working on apps and user interfaces, it’s not only important to know what each piece of the interface should be, but also how all these pieces come together to build a beautiful and fully-functional design that’ll wow your users.

Now that you’ve amassed quite a lot of knowledge about the basics of Jetpack Compose and its fundamental UI elements, you’re ready to dive deeper into building custom Compose elements, managing their state in a performant way and styling them using modifiers and built-in Material Design features.

Over the next four chapters, you’ll learn how to:

  • Attach LiveData structures to your state management.
  • Rely on different styling modifiers.
  • Combine these topics to create a powerful UI!

You’ll build on the knowledge from the previous section of the book by learning new parts of the Jetpack Compose toolkit.

Learn how to combine different small composable functions into bigger and more complex custom UI. Learn how to think about the UI structure before implementing composables.

5

In this chapter you'll learn how to style your UI components using Jetpack Compose modifiers. Using them, you'll add shapes, colors, borders, paddings and more!

6

Learn how to manage state and build unidirectional flows of data combining Jetpack Compose, ViewModels and LiveData constructs.

7

Learn how to implement Material Design components in Jetpack Compose. Dive deeper into state handling and implement more JetNotes features.

8

Section III: Building Complex Apps with Jetpack Compose

Now that you’ve built your app’s basic UI, it’s time to take it to another level. In this section, you’ll apply custom, complex designs that help you stand out from thousands of similar apps! This usually involves building complex custom components and applying animations to represent state changes when your users interact with the UI.

Over the next five chapters, you’ll dive deeper into the Jetpack Compose API to learn how to:

  • Connect Compose UI to legacy Android code.
  • React to Compose UI lifecycles.
  • Animate different state changes and user interactions.

In the process, you’ll build an awesome app that represents a real-world project and you’ll apply some best practices to improve the user experience.

Learn how to reference ConstraintSets in Compose and how to use them to position views just like in a ConstraintLayout.

9

Learn how to build a complex UI in Jetpack Compose using all the fundamental components and combining them together.

10

Learn how to listen to and react to lifecycle callbacks of Jetpack Compose components.

11

Learn how to animate UI properties using different animation features of Jetpack Compose.

12

Learn how to use Jetpack Compose in new projects and combine it with the View API, or how to add Jetpack Compose to existing projects.

13

Meet the team

Contributors

Who is this book for

This book is for intermediate Android developers, who are looking to expand their knowledge of the UI toolkit and add more tools to build beautiful interfaces to their belt, with Jetpack Compose. It’s also for advanced developers who are well versed with the legacy Android Toolkit and possibly know something about Jetpack Compose, but haven’t had the time to dive deep into the topic and explore more advanced concepts of Compose such as state handlin, connecting the declarative UI to application architecture pattern, using animations and more.

Concepts covered in this book

  • Jetpack Compose Fundamentals
  • Composable Functions
  • Modifiers
  • Recomposition
  • Jetpack Compose UI Tree
  • Jetpack Compose State
  • Dynamic Composable Functions
  • Building Lists in Jetpack Compose
  • Combining Composables
  • Jetpack Compose State Handling
  • Material Design Composable Functions
  • Material Design Modifiers
  • ConstraintLayout in Jetpack Compose
  • Complex Jetpack Compose UI
  • Jetpack Compose Lifecycle
  • Effects
  • Jetpack Compose Animation API
  • Property Animations
  • Transitions
  • Prop Keys
  • View Toolkit Backwards Compatibility

Version history

First Edition · Android 11, Kotlin 1.4, Android Studio Canary

v1.0 · Feb 13 2021 · Denis Buketa & Tino Balint
Pro
New

Jetpack Compose by Tutorials

By Denis Buketa & Tino Balint

Learn how to build beautiful, performant and declarative user interfaces using the latest tool in the Android UI toolkit - Jetpack Compose.

Read for Free with an Ultimate Pro Subscription* * Includes this and all other books in our online library See all benefits
Buy Individually $59.99* *Includes access to all of our online reading features.
See buying options
Hide buying options

All videos. All books.
One low price.

A raywenderlich.com subscription is the best way to learn and master mobile development — plans start at just $19.99/month!

Learn iOS, Swift, Android, Kotlin, Flutter and Dart development and unlock our massive catalog of 50+ books and 4,000+ videos.