[Book Review] App Architecture: iOS Application Design Patterns in Swift

In this article we'll do a quick review of a nice little book called App Architecture: iOS Application Design Patterns in Swift.I read a nice little book recently about architectural design patterns on iOS. The book was written by the well-known trio behind the objc.io website; Florian, Matt and Chris. It’s called App Architecture: iOS Application Design Patterns in Swift. We’ll do a quick review of the book in this article.

The Book

It’s a fun little book that you can read in an afternoon or two. It covers five different architectural patterns: MVC, MVVM-C, MVC+VS, MAVB and TEA. You’ve probably heard of the first three and never heard of the last two. This book is definitely not for everyone. If you’re starting your career as an iOS developer, then you should definitely skip this book. But, if you have a few years under your belt as an iOS dev and enjoy architecture discussions and you like to think about ways to organize and test your code, then you will enjoy this book.

You can certainly read this book on its own, but to get the full benefit from it I suggest you watch the videos that are following the book. The videos would give you some extra content as well. The authors are implementing those five patterns on one single app, so you can easily see the difference in the patterns. The UI and the behaviour of the app are identical, of course. The only thing that changes is the pattern. It’s definitely a must to checkout the code on the official GitHub repo, since the code in the book is basic and it might seem out of context to you.

The Elm Architecture, or TEA for short, is something very different from what we’re used to. It’s experimental in nature and it’s a good way to simply explore alternative ways of solving a problem. I can’t say that I would use it in a production app, but it was certainly an interesting read.

There’s also a chapter on networking and two different approaches to adding networking support: the controller owned networking and the model owned networking. Definitely an interesting chapter.

Finally

All in all, I would recommend this book to a seasoned developer. It’s not light reading and the book will make you think, but that’s what a good book is supposed to do, right 🙂 To get the full benefit from the book, at least check out the code from the GitHub repo. The book comes with a series of videos that you can purchase separately. You don’t have to purchase the videos if you don’t want to, but I found them very useful and fun to watch. And it’s cool to see the guys implement the architectures in a ‘live’ coding session and see their line of thinking when they do.

The only possible downside would be the price… The book and the videos would set you back a 100$. The book alone is 50$. That might be a bit steep for some of you, but you can wait for a sale and get it cheaper. I got my bundle for 67$. I hope you’ll find the book as interesting as I did and that you’ll learn something new from it… As usual…

Have a nice day 🙂
~D;

More resources

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.