Jetpack Compose
Learn how to build beautiful, powerful and reactive applications using the declarative UI framework called Jetpack Compose. By Filip Babić.
Who is this for?
Android developers who may have heard about Jetpack Compose, but haven't tested it out or don't feel comfortable enough with it to start replicating their UI using Composable functions.
You should be familiar with Android Studio, Kotlin and the current UI toolkit in Android. Familiarity with architectural patterns such as MVVM, using the ViewModel and LiveData components is required for later parts of the course.
Covered concepts
- Composable Functions
- Simple Composables
- ViewGroups
- Lists
- Actions & Handlers
- Modifiers
- State
- Recomposition
- Ambience
- Custom Composables
- Animations
- Material Components
- Component Reusability
Part 1: Jetpack Compose Basics
Learn about any breaking changes in the Jetpack Compose framework, and how to migrate from older versions to newer ones.
Take a tour of different ways of developing UI in Android over its history. Compare imperative and declarative UI development, and their pros and cons.
Play around with some basic Composable functions, learn what their parameters are, and find out how to display a simple Composable tree.
Learn all about Rows, Columns, Text, Button and Icon elements, and how to use said building blocks in Jetpack Compose.
Learn how to remember data within your Composable UI, and how to change and share it.
Learn how to create multiple smaller composable functions, to make them more reusable.
Use some of the simpler Material Design components in Compose to build better input forms and user experience.
Build lists of items and common Android components such as RatingBar
s, to style your application.
Finish more UI features of the app to practice using Jetpack Compose and custom components you've built.
Learn how to add special error handling to your UI components, to disable user from performing actions until the data is ready.
Part 2: Build Complex UI With Compose
Learn how to use various handlers in Compose to add specific actions and behavior to your UI. Connect your handlers to state handling.
Expand upon actions and handlers in your application, to build custom dialogs prompting users for data input.
Learn how to easily add different themes and styles to your app, and to support day/night mode.
Now that you've built your fair share of the UI in the project, you can proceed to reuse it, and build more features!
Use simple animations and powerful transitions to make your app even nicer than it is!
Part 3: Manage State With Compose
Start setting up state handling and persistence, by building the MVVM pattern in your application.
Free up the UI code of business logic by moving all of the operations to ViewModels.
Connect reactive data holders to Compose, to make the UI update itself automatically with data.
Congrats on finishing the course! Learn how to reuse state and create Ambient wrappers for your application.