Version Third Edition
Platform iOS 13
Language Swift 5.2
Editor Xcode 11

Implement Modern Clean Architectures in Your iOS Apps!

Apps are becoming more complex, and development teams are being pressured to deliver faster results in the face of constantly changing requirements. Now, more than ever, you need to understand and apply good software architecture practices in your projects.

Advanced iOS App Architecture thoroughly explains multiple modern iOS architectures, and demonstrates their usage in real-world apps.

The first half of the book introduces you to different aspects of iOS app architectures. We recommend reading these chapters before diving into any of the specific architecture chapters to get a good handle on the concepts involved.

The second half of the book explores multiple architectures, one per chapter. Each architecture chapter begins with a little history, followed by a detailed theory walkthrough. The remainder of each architecture chapter focuses on applying the theory to iOS app development.

Each architecture chapter concludes by covering the pros and cons of that architecture. You can read this section in order — or jump straight to the architecture that interests you. It’s your choice!

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.

Before You Begin

This section tells you a few things you need to know before you get started, such as what you’ll need for hardware and software, where to find the project files for this book, and more.

i

iii

Section I

Welcome

Free

A quick introduction over what you'll be learning this book, what the goals are of this work, and what you'll need to get started.

1

There are a lot of aspects to consider when selecting an architecture for you and your team. This chapter provides a high-level overview of these aspects, such as qualities to look for in an architecture and more.

2

In this book, you’ll use a fully-fledged, real-world example app, reconfigured each chapter for the specific architectures that this book will cover. The app used through this book is Koober, a ride-hailing app with just enough complex features to give you a feel for different architectures.

3

We all depend on one thing or another in the real world, and architecting your applications is no different. You’ll learn how objects depend on other objects to prevent creating monolithic objects from doing all the work, and instead see how comparmentalizing can make them more reusable and testable.

4

In this chapter, you’ll be taken through the history of MVVM and its concepts. You’ll then walk through the Koober application and explore how it’s been architected using the MVVM architecture approach.

5

In this chapter, you’ll be taken through the history of Redux and its concepts. You’ll then walk through the Koober application and explore how it’s been architected using the Redux architecture approach.

6

Elements is an architecture meant to make iOS development fun and flexible. Elements organizes your codebase and makes your project easy for anyone to navigate. This organization allows you to make changes to layers of your application without affecting stability. A set of "Elements" make up the architecture.

7

In Part 1 you learned about Elements and how to design User Interface and Interaction Responder elements. In this chapter, you'll take a deep dive into two more elements: Observer and Use Case.

8

In this chapter, you’ll be given an introduction to SwiftUI which Apple have released at WWDC 2019. You’ll then walk through how to get Koober ready for SwiftUI while keeping your current architectural approaches.

9

Meet the team

Contributors

Who is this book for

This book is for intermediate iOS developers who already know the basics of iOS and are looking to build apps using defined architectures, making apps cleaner and easier to maintain.

Concepts covered in this book

  • Navigating Architecture Topics
  • Managing Dependencies
  • MVVM Architecture
  • Redux Architecture
  • Elements Architecture
  • SwiftUI

Version history

Third Edition · iOS 13, Swift 5.2, Xcode 11

v3.0 · Sep 1 2020 · René Cacheaux & Josh Berlin
Pro

Advanced iOS App Architecture

By René Cacheaux & Josh Berlin

This book takes a deep dive into modern iOS app architecture and shows you how to design clean and maintainable real-world apps.

Read for Free with an Ultimate Pro Subscription* * Includes this and all other books in our online library See all benefits
Buy Individually $59.99* *Includes access to all of our online reading features.
See buying options
Hide buying options

All videos. All books.
One low price.

A raywenderlich.com subscription is the best way to learn and master mobile development — plans start at just $19.99/month!

Learn iOS, Swift, Android, Kotlin, Flutter and Dart development and unlock our massive catalog of 50+ books and 4,000+ videos.