Building Modern Apps for Android
Building Modern Apps for Android
Compose, Kotlin, Coroutines, Jetpack, and the best tools for native development.
About the Book
I must confess that I had to rethink the edition of the book several times before I managed to structure it to the current version.
The reason was straightforward. While I was writing the book’s content, the announcement appeared for improvements in the architecture components with Jetpack; later, from Kotlin, more powerful tools were introduced, and later enabled Flow Coroutines as an option for reactive programming. As if that were not enough, the introduction of Compose is announced.
I did not hesitate twice. We had to reinvent ourselves (yes, also that typical phrase around here).
And it is that Compose and the advent of declarative views in both Android and iOS were inescapable.
Therefore, I decided that for this book to serve as a guide in developing applications for Android, I had to involve the latest and best tools available in the ecosystem to design and implement mobile applications.
I think that the first reader who benefited from this book was me.
It has allowed me to explore and build components differently from how they had been until a few years ago and take advantage of the maximum of these recent changes that both Google and JetBrains have been contributing to the solutions and software development industry.
I have tried to be practical in the presentation of the topics, without much theory, rather, leaving the references for readers to investigate and delve into a particular topic and presenting the code of a project of e-commerce application without going into much detail.
However, leaving the functional and complete source code in a repository for the reader on their own to analyze, digest, and understand in their own time.
I am sincere in admitting that I have been quite excited about the capabilities Compose, Kotlin, Jetpack Components, and these other modern tools provide when implementing a native mobile app.
Once you learn to dominate this set of technologies, there is no going back. This modern style is my first choice of mobile app design, even though I’m older of experience working with the old style.
I admit that it was not easy at the beginning; reviewing and studying a concept several times as necessary until I understood it clearly.
Fortunately, Google’s engineering team has documented and shared vital design guides as an implementation reference, many of which I have referenced in the sections of this book.
Whether you are an experienced developer or new to the arena, this book will provide an initial understanding of adopting the modern style of building native mobile applications for Android.
I hope you like this work and find it helpful and, above all, practical.
- About the book
- Who this book is for
- Questions and contact
- About the source code
- Change log
Chapter 1: Design principles
- “State” is the heart of declarative views
- Applying “State hoisting” to delegate states
- Defining the “Source of Truth”. Who is responsible for providing the states?
- ViewModel as Source of truth
- Understanding data flow, “Unidirectional Data Flow Pattern”
- Let’s connect View and ViewModel components
- Structures represented as states
- Modeling and grouping events
Chapter 2: Codelab - Practicing with states
- “Views” as source of truth
- “ViewModel” as source of truth
- Grouping the “States”
- Grouping the “Events”
- Bonus extra
Chapter 3: OrderNow, A Real Application
- About the application
Chapter 4: Application Architecture
- Choosing a style
- Definition of the layers
- General architecture
- Organizing directories
- Nomenclature and naming elements
Chapter 5: Skeleton: Main structure
- Creating Screens and ViewModels
- UI patterns: TopAppBar y BottomAppBar
- Putting all together
Chapter 6: Designing navigation in App
- App’s State: A general state
- Defining the navigation map
- Navigation from other UI elements
Chapter 7: Implementing “Features”
- Before starting
- Home Screen
- Product List Screen
- Product Detail Screen
- Cart Screen
- Checkout Screen
- Place Order Screen
- Revision 1 (06-27-2022)
The Leanpub 60-day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms
80% Royalties. Earn $16 on a $20 book.
We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $12 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.