“Most writing about app architecture tries to sell you on a specific solution. We believe almost any architecture can work well, if applied correctly.”
— Chris Eidhof
📗 App Architecture
We’re very happy to announce the full release of our new book, App Architecture, co-written with Matt Gallagher.
The book is about five major application design patterns: MVC, MVVM, MVC+ViewState, MAVB, and The Elm Architecture. We show their differences and similarities on the conceptual as well as the implementation level, using one single example app written in all five patterns.
Each architecture has a dedicated chapter, allowing in-depth discussion. For instance, we consider how view state is handled, how the model changes, how the view reacts to changes in the model or view state, and how to test each pattern. We also look at the history and philosophy behind each pattern.
📺 With Video
Where the book excels as a medium for conceptual discussion, the complete work includes a video series, which approaches the subject from a different angle: they show what it is like to work with each architecture.
In the series, we add a feature to our example app, which requires us to interact with almost every layer of each architecture. In addition, we look at how The Elm Architecture is implemented behind the scenes, and we live code eight design patterns in one app, in just over an hour — a live coding marathon 🏃♀️
The videos are exclusive to the Ebook + Video edition, and will remain separate from our Swift Talk series.
👩🏫 Lessons to Learn
In most cases, it is difficult to change your codebase straight away. With this in mind, we took great care to include lessons with every architecture that you can apply to your codebase today, in both Swift and Objective-C.
For example, the Elm chapter includes lessons that you can apply to your MVC codebase. You can improve how you handle view state, use reducers to simplify code, confidently refactor large view controllers, and much more with the code you already have.
🎓 A Thorough Understanding
Our book helps you make well-informed decisions by showing how different architectures function, and how you can combine elements of each to build applications that suit the context of your work.
By the end, you will have a thorough understanding of the trade-offs between architectures, and how they best fit your specific needs.
The book and videos are available today, directly from our site. The Ebook includes PDF, ePub, and mobi versions. If you prefer a physical copy, we have a paperback edition. All versions come with full sample code.
Sales and checkout are managed by Gumroad. If you need assistance please contact their help team on Twitter. 🙂
🙏 Thank You
A warm thank you to our Early Access readers, your support has been invaluable. In addition, we’d like to thank Ole Begemann, Natalye Childress, Quinten Swagerman, Morgan Evetts, and all the other elves who helped along the way.
A special thanks goes to all those readers who suggested improvements or pointed out mistakes. The more eyes the better!
Best from Berlin, and Melbourne. 🐨
Chris, Florian, and Matt.