Architecting SwiftUI apps with MVC and MVVM

From Matteo Manferdini, developer and author with more than 10 years experience developing for iOS

Free guide:
Architecting SwiftUI apps with MVC and MVVM


It’s easy to make an app by throwing some code together. But without best practices and robust architecture, you soon end up with unmanageable spaghetti code. Most programming courses teach you how to code, but don’t show you how to structure your apps and how all the pieces come together.

In this guide, you will learn —

  • How architectural design patterns give you a blueprint to know where each piece of code goes. If you feel you never know how to structure your apps, this will fix the problem forever.
  • Making your app’s structure more robust and with fewer bugs by moving the domain business logic and data transformation code into model types. This is the single most crucial step to make your code reusable and testable.
  • The central role of controllers in managing an app’s business logic. This allows you to create specialized classes that contain the core functionality of your app, including state, storage, and networking.
  • How to organize your SwiftUI views into modular and reusable types, keeping their code separated from the app’s business logic. Thanks to this, you will be able to change the code of your app without breaking its entire interface.
  • Bringing the architecture of an app together in a root layer that manages the app’s navigation and maps user action into the app’s business logic. This is a little known yet powerful concept to keep the responsibilities in your code separates and well distributed.

Architecting SwiftUI apps with MVC and MVVM

Get the free book now →