Mobile Development Pro
Mobile Development Pro
About the Bundle
Clean Architecture in iOS
Principles and good design practices applied in iOS.
It isn't easy to control what cannot be measured.
That's. When Clean Architecture is applied to solutions, one consequence is to provide mechanisms to measure and test every critical software piece in the solution.
The challenge is not only about starting a project with an architecture that allows its progressive evolution but also keeping it on an upward curve in terms of its quality attributes.
To the extent that the Solution Architecture allows flexible measurements, testing, and scaling, the indications will be better for the project and, therefore, for the company.
This work is based on the principles of Clean Architecture, the style of architecture that Robert C. Martin introduced us years ago. It is a text focused on solutions designed for iOS; however, it could affirm that 90% of the concepts also apply to Android solutions.
The first thing that is developed in the book is the design principles that are the basis for using the following themes. Concepts such as dependency inversion, inversion of control and dependency injection are exposed for your clear understanding, with the additional purpose of knowing how to differentiate between one concept or another.
Then the relationship between the components is reviewed through levels and layers. This analysis is necessary to locate each element with its respective responsibilities in the right place.
Once the parts are located, the need arises to communicate them with each other. This is where the reader is oriented to the ports and adapters chapter to determine the appropriate integration mechanisms between components of different layers and levels.
Continuing with the development of the topic, we go down a little more in detail to analyze the alternatives for organizing the components in directories or folders and what might be the limits established between them.
In this way, two essential chapters are reached in the design of a mobile solution, the Design patterns, and Considerations in Architecture.
Design patterns expose those known and recommended patterns to apply to mobile solutions. Innovative pattern variables are also presented that could be useful for startups and companies specialized in this type of service.
In the chapter that develops considerations in architecture, a set of arguments is presented that could answer questions that we as a product development team usually ask ourselves daily while implementing it under the Clean Architecture framework. That is a chapter that I hope is controversial due to the particular existence of opinions in another sense, that is precisely one of the objectives that I seek to achieve with this work. To lead the reader to debate and carry out their analyses, they apply the most appropriate solution in their solutions.
Subsequently, to complement the two previous chapters, the orchestration strategies between local data (in memory or cache) and remote data (external APIs and other sources) are developed. A plan that sooner rather than later should be considered in most solutions.
And finally, the topic developed in the chapter on implementation details corresponds to techniques used properly in iOS that help to apply Clean Architecture in a source code environment.
With this content and a couple of annexes, the present work is closed, which I hope will be of liking and utility for the reader.
Building Modern Apps for Android
Compose, Kotlin, Coroutines, Jetpack, and the best tools for native development.
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.
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.