Learn how to build, maintain, and test Android applications using clean architecture principles
Key FeaturesUnderstand various software design principles and patterns to make an application more testableStructure your application's code into different layers and components to make it more maintainable and flexibleStudy popular libraries and frameworks and integrate them into an applicationBook DescriptionAs an application's code base increases, it becomes harder for developers to maintain existing features and introduce new ones. In this clean architecture book, you'll learn to identify when and how this problem emerges and how to structure your code to overcome it.
The book starts by explaining clean architecture principles and Android architecture components and then explores the tools, frameworks, and libraries involved. You'll learn how to structure your application in the data and domain layers, the technologies that go in each layer, and the role that each layer plays in keeping your application clean. You'll understand how to arrange the code into these two layers and the components involved in assembling them. Finally, you'll cover the presentation layer and the patterns that can be applied to have a decoupled and testable code base.
By the end of this architecture book, you'll be able to build an application following clean architecture principles and have the knowledge you need to maintain and test the application easily.
What you will learnDiscover and solve issues in Android legacy applicationsBecome well versed in the principles behind clean architectureGet to grips with writing loosely coupled and testable codeFind out how to structure an application's code in separate layersUnderstand the role each layer plays in keeping the application cleanIntegrate existing frameworks and libraries for each layerWho this book is forThis book is for Android developers who want to learn about managing the complexity of their applications, and is also highly recommended for intermediate or advanced Android developers looking for a go-to guide for clean architecture and the integration of various Android technologies. New developers familiar with the fundamentals of Android app development will find this book useful too.
Table of ContentsGetting Started with Clean ArchitectureDeep Diving into Data SourcesUnderstanding Data Presentation on AndroidManaging Dependencies in Android ApplicationsBuilding the Domain of an Android ApplicationAssembling a RepositoryBuilding Data SourcesImplementing an MVVM ArchitectureImplementing an MVI ArchitecturePutting It All Together
A decent overview of the Clean Architecture principles heavily focusing on practical examples. What I missed would be more theoretical and/or philosophical explanation of the applied principles. Instead, it relies heavily on the de facto industry standard technologies (libraries and tools) which might make this book pretty obsolete in quite a short time.
The code listings are a bit too excessive a mostly included to pad the book page count. I would recommend it to more junior developers who are versed in Kotlin and Android SDK and need to up their skills in the matters of architecture. People who learn by examples might view the book more favourably as well.
It is far from the best books about clean architecture, but if you are familiar with clean architecture, and want to apply it to Android - it's quite useful. It also nicely compares how things were done in the past and how the approach evolved over time.