1.
Welcome
Welcome to Advanced iOS App Architecture. The main goal of this book is to thoroughly explain and show how to apply popular iOS app architectures, one by one. We can’t wait for you to explore the architectures covered in the following chapters.
We absolutely love this topic. We are super passionate about architecture because architecture unlocks the ability for teams to grow and go quickly. Now, more than ever, it’s very important to understand and apply good software architecture practices in our projects as apps are getting more complex and as development teams are pressured to deliver faster results despite constantly changing requirements.
What lies ahead
Chapter 1 through Chapter 4 introduce you to different aspects of the material covered in the book. We recommend reading these chapters before diving into any of the architecture chapters.
Chapter 5 through Chapter 8 are architecture chapters; in other words, they explore one architecture at a time. Each architecture chapter begins with a little history followed by a detailed theory walkthrough. The second half of each architecture chapter focuses on applying the theory to iOS app development. Each architecture chapter ends by covering the pros and cons of that architecture. Feel free to read these latter chapters in any order.
And finally, Chapter 9 gives some advice for preparing to migrate your existing UIKit
codebase to SwiftUI
.
There are many architectures not covered in this book because we wanted to go deep instead of broad.
Who this book is for
This book is for iOS developers who build apps using Swift. The material in this book assumes familiarity with design patterns and with basic architectures — such as MVC — and basic architecture concepts, such as inversion of control. This book also assumes familiarity with Apple frameworks such as Combine
.
If you’re new to Swift, check out the raywenderlich.com Swift Apprentice book; for a refresher on design patterns, check out the raywenderlich.com Design Patterns by Tutorials; for an introduction to Combine
, check out the raywenderlich.com Combine: Asynchronous Programming with Swift
Where to go from here?
The next three chapters are designed to be introductions, so give them a read. Then, find the chapters for the architectures you are most interested in learning and go for a deep dive into each.
If you aren’t sure which architectures you’d like to explore, we recommend reading the theory section of all the architecture chapters first in order to identify which architectures fit your needs the most. Then you can take a deep dive by reading the iOS app portion of the chapters you found most compelling.
Our hope is that, after reading this book, you will be able to apply different app architectures to different projects in a way that will unleash your team’s ability to build quickly and soundly. Happy architecting!