A comprehensive list of learning resources for understanding Jetpack Compose in Android.
“Jetpack Compose makes it easy to write and manage an application’s frontend by providing a declarative API that allows users to update their Android application UI without imperatively mutating frontend views.” — Compose README
And rightfully so, it has lived up to the hype of easy UI building and managing as stated by multiple early adopters.
Below is a comprehensive list of learning resources for understanding Jetpack Compose in Android ranging from official to non-official well-written or authored resources.
Contents:
Slides
Docs, Codelabs and Official Projects
Articles and Tutorials
Books
Open-Source Projects (Apps, Libraries, Resources)
Podcasts
Twitter Threads
Discussions
Communities
FAQ on Jetpack Compose
Slides
Note: Find more Slides at https://cse.google.com/cse?cx=010150859881542981030%3Ahqhxyxpwtc4&ie=UTF-8&q=jetpack+compose&sa=Search
https://speakerdeck.com/vinaygaba/360-andev-2020-learning-jetpack-compose-by-example [July 23, 2020]
- 360|AnDev 2020: Learning Jetpack Compose By Example
https://speakerdeck.com/alexzhukovich/lets-build-an-android-ui-with-jetpack-compose [April 20, 2020]
- Let’s build an Android UI with Jetpack Compose by Alex Zhukovich
https://speakerdeck.com/yanzm/jetpack-compose-dounafalse-android-dev-summit-2019bao-gao-hui[November 15, 2019] [JA]
- Jetpack Compose どうなの?(Android Dev Summit 2019報告会)by Yuki Anzai
https://speakerdeck.com/lnicolet/mvi-with-jetpack-compose [September 09, 2019]
- MVI with Jetpack Compose by Luca Nicoletti
https://speakerdeck.com/lelandrichardson/react-meet-compose [July 12, 2019]
- React, Meet Compose by Leland Richardson
https://speakerdeck.com/ragunathjawahar/jetpack-compose-next-gen-kotlin-ui-toolkit-for-android [June 22, 2019]
- Jetpack Compose — Next Gen Kotlin UI Toolkit for Android
https://speakerdeck.com/takusemba/jetpack-compose [May 21, 2019]
- Jetpack Compose by TakuSemba
Docs, Codelabs and Official Projects
Docs
https://developer.android.com/courses/pathways/compose
- Learn about Compose, a modern toolkit for building native Android UI. Test your knowledge of Compose and earn your Jetpack Compose badge.
https://developer.android.com/jetpack/compose
- Jetpack Compose project page.
https://developer.android.com/jetpack/compose/documentation
- Get started with Jetpack Compose
Codelabs
https://codelabs.developers.google.com/codelabs/jetpack-compose-basics/index.html
- Jetpack Compose basics
- In this codelab, you will learn * What Compose is * How to build UIs with Compose * How to manage state in composable functions * Data flow principles in Compose.
https://codelabs.developers.google.com/codelabs/jetpack-compose-migration/index.html
- Migrating to Jetpack Compose
- In this codelab, you’ll be migrating parts of the Sunflower’s plant details screen to Compose. We created a copy of the project for you to try out migrating a realistic app to Compose.🏉
https://codelabs.developers.google.com/codelabs/jetpack-compose-layouts/index.html
- Layouts in Jetpack Compose
- In this codelab, you’ll learn how to use Compose’s highest level of UI abstraction, Material Design, as well as low-level composables like Layout that allows you to measure and place elements on the screen
https://codelabs.developers.google.com/codelabs/jetpack-compose-theming/index.html
- Jetpack Compose Theming
- In this codelab you will learn how to use Jetpack Compose’s theming APIs to style your application. We’ll see how to customize colors, shapes and typography so that they’re used consistently throughout your application, supporting multiple themes such as light & dark theme.
https://codelabs.developers.google.com/codelabs/jetpack-compose-state/index.html
- Using State in Jetpack Compose
- In this codelab you’ll learn about the state and how it can be used and manipulated by Jetpack Compose.
Official Projects
https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-master-dev/ui
- Git repository on Jetpack Compose.
https://github.com/androidx/androidx/tree/androidx-master-dev/ui
- Development environment for Jetpack Compose. Synchronized with Jetpack’s primary development branch on AOSP.
https://github.com/aosp-mirror/platform_frameworks_support/tree/androidx-master-dev/ui
- AOSP mirror of Git repository on Jetpack Compose.
https://issuetracker.google.com/issues?q=status:open%20componentid:612128
- Search Recent issues for Jetpack Compose Android.
https://issuetracker.google.com/issues/new?component=612128
- Create a new issue for Jetpack Compose Android.
https://github.com/android/compose-samples
- Official Jetpack Compose Samples
Articles and Tutorials
- Jetpack Compose Resources + Newsletter.
https://medium.com/androiddevelopers/understanding-jetpack-compose-part-1-of-2-ca316fe39050
- Understanding Jetpack Compose — Part 1 of 2 by Leland Richardson
https://joebirch.co/tag/jetpack-compose/
- Collection of quality articles on Jetpack Compose by Joe Birch.
https://foso.github.io/Jetpack-Compose-Playground/
- This is a collection of Jetpack Compose examples/tutorials and demos.
https://medium.com/tag/jetpack-compose/latest
- Collection of quality articles from Android Devs and the Android team that worked on Jetpack Compose. Sort Jetpack Compose articles by Recency on Medium.
https://dev.to/t/jetpackcompose
- Collection of quality articles from Android Devs. Sort Jetpack Compose articles by Recency on Dev.to
- Snippets and guides for Jetpack Compose on the Android platform
- Learn more about using Jetpack Compose in Android. How does Jetpack Compose compare to the existing Android UI Toolkit?
https://alexzh.com/tag/jetpack-compose/
- Quality Jetpack Compose articles by AlexZh
https://www.raywenderlich.com/7032631-jetpack-compose-tutorial-for-android-getting-started
- In this Jetpack Compose tutorial, you’ll learn to
Books
https://joebirch.co/exploring-jetpack-compose/ [NOT PUBLISHED YET]
- EXPLORING JETPACK COMPOSE
- I’m currently writing a book, “Exploring Jetpack Compose”, where I’ll be diving into the different components that are available within the Compose APIs.
Open-Source Projects
Apps
https://github.com/androiddevnotes/awesome-jetpack-compose-android-apps
- 👓 A curated list of awesome Jetpack Compose android apps by open-source contributors.
https://docs.github.com/en/github/searching-for-information-on-github/about-searching-on-github
- Use the advanced search on GitHub and find open-source projects to your liking.
Libraries
https://github.com/chrisbanes/accompanist
- A collection of extension libraries for Jetpack Compose.
https://github.com/airbnb/Showkase
- 🔦 Showkase is an annotation-processor based Android library that helps you organize, discover, search, and visualize Jetpack Compose UI elements.
Resources
https://github.com/vinaygaba/Learn-Jetpack-Compose-By-Example
- 🚀 This project contains various examples that show how you would do things the “Jetpack Compose” way.
https://github.com/hitherejoe/ComposeAcademy-Playground
- Compose Academy Playground is a free resource that provides snippets and practical samples on how to use Jetpack Compose for the Android platform.
https://github.com/Foso/Jetpack-Compose-Playground
- Collection of Jetpack Compose example code and tutorials
https://github.com/Naveentp/Awesome-Jetpack-Compose
- A collaborative list of awesome jetpack compose resources.
Podcasts
http://androidbackstage.blogspot.com/2020/08/episode-147-jetpack-compose-alpha.html
- Episode 147: Jetpack Compose Alpha by Android Developers Backstage
https://www.raywenderlich.com/13267837-jetpack-compose-with-denis-buketa-podcast-s10-e13
- Jetpack Compose with Denis Buketa — Podcast S10 E13
https://www.raywenderlich.com/4809247-romain-guy-podcast-s09-e09
- Romain Guy — Podcast S09 E09
Twitter Threads
https://twitter.com/objcode/status/1298740410584457216
- by Sean McQuillan
- On #JetpackCompose Alpha day, I want to share a story about Architecture in Compose. When we open sourced Compose at I/O 2019, one of the most common questions from many Android developers was “What does this mean for the architecture of our apps?”
https://twitter.com/intelligibabble/status/1299020334826283009
- by Leland Richardson
- Seeing a lot of confusion around Compose and SwiftUI. A few clarifying facts.
Discussions
Communities
- https://stackoverflow.com/questions/tagged/android-jetpack-compose
- https://surveys.jetbrains.com/s3/kotlin-slack-sign-up
FAQ on Jetpack Compose
https://jetpackcompose.app/faq
https://github.com/Mishkun/jetpack-compose-faq
Below FAQs are curated and taken from AMA done by Android Eng Team https://www.reddit.com/r/androiddev/comments/idefss/were_on_the_engineering_team_for_android_jetpack/
Thank you to the authors who contributed to Open-source!
Find us at:
Discord: https://discord.gg/HqTbjss
GitHub: https://github.com/androiddevnotes/
YouTube: https://www.youtube.com/channel/UCQATLaT0xKkSm-KKVQzpu0Q
Twitter: https://twitter.com/androiddevnotes
Instagram: https://www.instagram.com/androiddevnotes
Contributions:
Contributions and Pull requests are welcomed at https://github.com/androiddevnotes repositories!
🐣