Description
SwiftUI changed how we build user interfaces, but it also challenged many long-standing architectural assumptions. Patterns that worked well in UIKit don’t always translate cleanly to SwiftUI, and forcing them often leads to unnecessary layers, boilerplate, and confusion.
This book is the result of several years of real-world SwiftUI experience, experimentation, and reflection.
Rather than blindly applying a single pattern, this book explores how SwiftUI actually wants to be used. You’ll learn when MVVM helps, when it hurts, and why in many cases the view itself already fulfills the role developers traditionally assigned to a view model. From there, the book introduces alternative approaches built around clear sources of truth, lightweight views, and well-defined responsibilities.
Drawing inspiration from mature frameworks such as React, WPF, and ASP.NET, this book presents a practical and opinionated take on SwiftUI architecture. It focuses on reducing complexity, avoiding accidental abstractions, and building applications that are easier to reason about, test, and scale over time.
Inside the book, you’ll learn how to:
- Structure SwiftUI applications without unnecessary view models
- Decide when state should live in a view versus a shared store
- Use the Environment effectively for global and domain-specific state
- Separate presentation logic from business and domain logic
- Design scalable architectures using stores, services, and bounded contexts
- Handle navigation, validation, testing, and shared components in a clean, predictable way
- Understand the tradeoffs behind each architectural decision
This is not a framework, a library, or a one-size-fits-all solution. It’s a guide to thinking clearly about architecture in SwiftUI and making intentional decisions based on the type of app you’re building.
If you’ve ever felt that SwiftUI apps become over-engineered too quickly, or that MVVM sometimes creates more problems than it solves, this book will give you a different perspective.
Written by Mohammad Azam, this book is for iOS developers who want clarity, simplicity, and architecture that grows with their applications instead of fighting against them.
Chapters
Introduction — Available
MVVM and the Cost of Carrying Old Patterns Forward — Available
Container/Presenter Pattern — Available
MV Pattern — Available
Communication Patterns in Observable Stores — Coming soon
Deep Dive Into Environment — Available
SwiftData Architecture — Available
Global Sheets and Toasts — Available
Validation — Available
Navigation — Available
UIKit to SwiftUI — Coming soon
Composing and Customizing Views — Coming soon
Testing — Available
Performance and Debugging — Coming soon
Firebase and Supabase — Coming soon
Mohammad Azam
Mohammad Azam is a highly experienced and accomplished developer with over a decade of professional experience in writing software. He has played an integral role in the success of several Fortune 500 companies including Valic, AIG, Dell, Baker Hughes, and Blinds.com, where he served as a lead mobile developer.
Azam's expertise has helped him become a top instructor on both Udemy and LinkedIn, with more than 70K students enrolled in his courses. He currently serves as a lead instructor at DigitalCrafts, a software bootcamp where he trains developers who now work at prestigious companies like Apple, JP Morgan Chase, and Exxon.
Azam is not only a developer and instructor but also an international speaker who has been sharing his knowledge and expertise since 2006. In his free time, he enjoys exercising and planning his next adventure to explore the unknown corners of the world.