The Compose bookshelf 📚 (Generous discounts)
A guide of the Jetpack Compose books available in the market. Most of the books include generous discounts. Use the chance to get yours!
Header picture by Vladimir Mokry @Unsplash.
Jetpack Compose internals
👨💻 Jorge Castillo (Android & Kotlin GDE)
Even if this is my book, I’ll try to be as objective as possible here to honor the ultimate purpose of this guide.
This book is the only existing one that dives into the internals of the library. It goes over the complete Jetpack Compose ecosystem of libraries, describing the connection between the Compose compiler, the runtime, and client libraries like Compose UI, among other topics.
“During my years as an Android developer, I learned the most about it by inspecting the sources of the platform and its state of the art libraries. For that reason I decided to write about Compose internals. I thought people would find it useful to grow the correct mindset when working with it.” —Me.
This book works nicely as a companion in order to understand how things work on the inside, and be able to write efficient code using the library. The book is in a pre-launch state, but more than a 80% of it is written already. By acquiring the book now you gain automatic access to all its future updates.
Requirements
I’d recommend having a good understanding of Android UI and some basic experience with Jetpack Compose. Other than that, you should be good to go.
What you wil llearn
A solid understanding of:
The purpose of Composable functions, runtime expectations on them, their properties.
The Compose compiler in-depth. How it interacts with the runtime and client libraries like Compose UI. Validation and code generation. Unlocking runtime optimizations.
The Compose runtime in-depth. How it interacts with the compiler and client libraries like Compose UI. Composer / Recomposer, composition / recomposition, comparison propagation, smart recomposition, slot table.
Compose UI. Creating and hooking a Composition / Subcomposition. Integration with Android. Measure / layout, drawing. Modifiers, intrinsics, SubcomposeLayout, LookaheadLayout, semantics.
The State snapshot system. Concurrency control systems and MVCC. Snapshots, snapshot trees, reading and writing from/to a Snapshot, change propagation, state isolation.
Effects and effect handlers. Internals and types of effect handlers. Keeping side effects under control and within the limits of the composition and the Composable lifecycle.
Advanced use cases of Jetpack Compose. Composition of vector graphics, building the node tree, integration with Compose UI, managing the DOM with Compose, composition in the browser, and more.
You can follow the book on Twitter. The complete table of contents can be found here.
From View to Composable
Alex’s book is created from a very pragmatic point of view: How to do the exact same things we have been doing with Views so far, but in Jetpack Compose. Every component/pattern is mapped 1:1 to Compose, so it is easy to use as a reference.
The book provides straight to the point explanations and code samples so you can save hundreds of hours of exploration when trying to do something in Jetpack Compose. It is available in multiple formats and provides a free sample chapter.
His author, Alex, is an ex-Apple developer with more than 10 years of experience who is 100% focused on creating highly valuable content.
Table of contents
Understanding Compose code.
TextView to Text.
Displaying images and photos.
Icons.
Buttons.
Toolbar to TopAppBar.
Dialogs and AlertDialogs.
Snackbars.
LinearLayout to Column & Row.
FrameLayout to Box.
RecyclerView to LazyLists.
Grids in Compose.
ViewPager in Compose.
ConstraintLayout in Compose.
Bottom Sheets in Compose.
Using Views from Compose.
Calling Android APIs from composable functions.
Theming your Compose application.
Drawing Edge-to-Edge (Inset handling).
Managing state.
Navigation in Compose.
ViewModels in Compose.
Structuring your Compose application.
Discount: Use the effective_android
discount code for a 17% discount.
Android UI Development with Jetpack Compose
👨💻 Thomas Künneth (Android GDE)
A good balance of theory and hands-on examples to grasp the core concepts of Jetpack Compose and start using it in both already existing apps and/or greenfield projects. Particularly recommended if you want a quick pill to start using Compose professionally without much waiting.
His author, Thomas, is an Android GDE with a long background as a developer, speaker and writer. He is a very active contributor of the worldwide Android community. You can find more about him here.
Requirements
A solid understanding of Android app development, along with some knowledge of the Kotlin programming language, will be beneficial.
What you will learn
Gain a solid understanding of the core concepts of Jetpack Compose
Develop beautiful, neat, and immersive UI elements that are user friendly, reliable, and performant
Build a complete app using Jetpack Compose
Add Jetpack Compose to your existing Android applications
Test and debug apps that use Jetpack Compose
Find out how Jetpack Compose can be used on other platforms
Table of Contents
Building Your First Compose App
Understanding the Declarative Paradigm
Exploring the Key Principles of Compose
Laying Out UI Elements
Managing the State of Your Composable Functions
Putting Pieces Together
Tips, Tricks, and Best Practices
Working with Animations
Exploring Interoperability APIs
Testing and Debugging Compose Apps
Conclusion and Next Steps
By the end of the book, you'll be able to write your own Android apps using Jetpack Compose.
Discount: Use the 30THOMAS
discount code for a 30% off on eBook and Print on the Packt website. Valid from 26th July 2022 until 26th August 2022.
Kindly note that the Packt print discount is available in the following regions only- US, UK, India, and Australia. Packt eBook discount is available in all regions.
Practical Jetpack Compose
Joe’s book is highly practical. It takes us over 12 independent projects to teach us how to build Android apps using Jetpack Compose through practice. Each one of the projects is carefully crafted with quick learning in mind. They cover topics like UI, Material Design, accessibility, theming, animations, navigation, dependency injection, Canvas, gestures, interoperability, and more.
His author, Joe Birch, is an Android GDE, very well known in the Android community. He has been working closely with Jetpack Compose since it's initial announcement, and created compose.academy. Find more about Joe Birch here.
Requirements
New Android developers can definitely read this book, but some experience in Android development can be very helpful. It is recommended for people starting from scratch with Compose, but those who have done some compose already can also find good value in it as much more than just UI is covered (accessibility, testing, state management…).
What you will learn
Build UI: Build User Interfaces for a collection of common UI patterns. The 12 projects cover all the essentials needed to build beautiful UIs.
Manage State: Work with composable state to keep your UI fresh with any data changes. All 12 projects read and write state based on user-input.
Test UI: Write automated UI tests for all 12 projects to automatically catch any UI regressions.
Projects
Settings: Foundations of building composable UI. Build a settings screen that supports a variety of different interactable application settings.
Authentication: Sign-up and Sign-in screens using composables. Introduces the concepts of state management for Jetpack Compose.
Home dashboard: Home screen for an app that can adapt to larger screen devices. Look into the Scaffold composable and Drawer.
Email inbox: Building a feed (list of content) using various material composables.
Video player: Use Exoplayer to build a Video PLayer for Jetpack Compose.
Messenger: Recreate sending and receiving of messages with composable UI.
Music dashboard: Build a complex content feed that contains multiple types of feeds (lists, carousels, chips) in a single content area.
Gallery picker: Use the Android permission APIs in alongside compose in order to create an image picker for selecting media items.
Blog feed: Build a basic blog feed using constraint layout to compose our UI elements.
Calendar: Build daily, weekly and monthly calendar composable that can display a collection of events for those formats.
Graphs and charts: Canvas drawing and animations to build a collection of graphs and charts.
Stories editor: Build an editor for a stories feature that allows to draw text, paint on top of an image, move and scale those elements.
Kickstart Modern Android Development with Jetpack and Kotlin
👨💻 Catalin Ghita
This book is not Jetpack Compose only, but Compose takes a big role on it. Catalin’s book focuses on the Jetpack library ecosystem, and teaches us how to use and combine them to build and design high-quality, robust Android apps. The book helps readers understand how Jetpack allows developers to follow best practices and architectural patterns when building Android apps while also eliminating boilerplate code.
Most popular Jetpack libraries are covered, including Jetpack Compose, ViewModel, Hilt, Room, Paging, Lifecycle, and Navigation. You'll get to grips with relevant libraries and architectural patterns, including popular libraries in the Android ecosystem such as Retrofit, Coroutines, and Flow while building modern applications with real-world data.
By the end of this Android app development book, you'll have learned how to leverage Jetpack libraries and your knowledge of architectural concepts for building, designing, and testing robust Android applications for various use cases.
Catalin is a really active member of the Android community and a proactive content creator as PacktPub author and Udemy instructor.
Requirements
This book is for junior and intermediate-level Android devs looking to level up their Android development skills to develop high-quality apps using Jetpack libraries and other cutting-edge technologies. Beginners with knowledge of Android development fundamentals will also find this book useful. Familiarity with Kotlin is assumed.
What you will learn
Integrate popular Jetpack libraries such as Compose, ViewModel, Hilt, and Navigation into real Android apps with Kotlin.
Apply modern app architecture concepts such as MVVM, dependency injection, and clean architecture.
Explore Android libraries such as Retrofit, Coroutines, and Flow.
Integrate Compose with the rest of the Jetpack libraries or other popular Android libraries.
Work with other Jetpack libraries such as Paging and Room while integrating a real REST API that supports pagination.
Test Compose UI and the application logic through unit tests.
Table of contents
1. Creating Modern UIs with Jetpack Compose
2. Handling UI state with Jetpack ViewModel
3. Displaying Real Data from a REST API with Retrofit
4. Handling Async Operations with Coroutines
5. Adding Navigation in Compose with Jetpack Navigation
6. Adding Offline Capabilities with Jetpack Room
7. Introducing Presentation Patterns in Android
8. Getting Started with Clean Architecture in Android
9. Implementing Dependency Injection with Jetpack Hilt
10. Test your app with UI and Unit tests
11. Creating Infinite Lists with Jetpack Paging and Kotlin Flow
12. Exploring the Jetpack Lifecycle Components
Discount: Use the 30CATALIN
discount code for a 30% off on eBook and Print on the Packt website. Valid from 26th July 2022 until 26th August 2022.
Kindly note that the Packt print discount is available in the following regions only- US, UK, India, and Australia. Packt eBook discount is available in all regions.
Jetpack Compose by Tutorials
👨💻 Denis Buketa / 👨💻 Tino Balint
This book covers a range of key topics starting from fundamentals of Jetpack Compose, recomposition, layouts and custom layouts, modifiers, lifecycle, state management, styling (theming), Material Design, ConstraintLayout, animations, interoperability / compatibility with Views, and more.
Requirements
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 with Compose. It’s also for advanced devs 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.
What you will learn
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
By the end of the book, you'll be able to write your own Android apps using Jetpack Compose.
Jetpack Compose essentials
👨💻 Neil Smith
This book covers a wide range of topics, since it teaches you about Kotlin, how to setup an Android studio development environment, and finally how to create an application using Jetpack Compose. Its goal is to teach you the skills necessary to build Android apps using Jetpack Compose, Android Studio, and the Kotlin programming language.
Requirements
Assuming you already have some rudimentary programming experience, are ready to download Android Studio and the Android SDK, and have access to a Windows, Mac, or Linux system, you are ready to get started.
What you will learn
Kotlin fundamentals: data types, operators, control flow, functions, lambdas, some object-oriented programming concepts.
How to set up an Android studio development environment.
Introduction to fundamentals of Jetpack Compose and Android project architecture.
Guided tour of Android Studio in “Compose development mode”.
How to create custom Composables and how to combine them to create user interface layouts.
Basic building blocks like Row, Column, Box, List components… etc.
State management, data handling.
Modifiers, navigation bars, app navigation.
Custom layouts.
Graphics drawing, animations, transitions, gesture handling.
ViewModel, SQLite databases, Room, Database Inspector, LiveData, custom theme creation.
How to bundle your app and publish it to the Google Play Store.
Along the way, the topics covered in the book are put into practice through detailed tutorials, the source code for which is also available for download.