It’s Time to Take Control of
Your Project’s Architecture
Massive View Controller Syndrome
Firing up Xcode and starting a new project is a great feeling. The first few days or weeks don’t feel like work. Everything goes according to plan.
But as the code base of your project grows, it becomes harder and harder to manage the project. The view controllers of your project start to put on weight … a lot of weight. They become more than the view controllers. Don’t they?
Yet you’ve done everything right. You’ve stuck to the rules of the Model-View-Controller pattern. Why have you coded yourself in a corner? Why is it frustrating or downright scary to add new features or refactor classes?
It’s Time to Cure MVC
If your project is suffering from Massive View Controller syndrome, then the Model-View-ViewModel pattern is the cure to your problem. The Model-View-ViewModel pattern has been around for many, many years, but it only recently gained traction in the Cocoa community.
The MVVM pattern extends the MVC pattern by resolving common issues. The result is a robust application architecture with lean view controllers, improved testability, and a better separation of concerns. How does that sound?
Take Control of Your Project With MVVM
In Mastering Model-View-ViewModel With Swift 3, we refactor an existing application from Model-View-Controller to Model-View-ViewModel. The results are dramatic and the pattern is surprisingly easy to adopt in your own projects.
You learn the differences between Model-View-Controller and Model-View-ViewModel, highlighting the benefits Model-View-ViewModel has over Model-View-Controller.
After a short introduction, we take an application built with Model-View-Controller and refactor it to use Model-View-ViewModel instead. Along the way, you learn about the anatomy of view models, how to create them, and how to test them.
Last but not least, we add protocols to the mix to further simplify the view controllers in the project.
At the end of this course, you have the knowledge and hands-on experience to apply Model-View-ViewModel in your own projects.
Don’t Take My Word for It
“A big thank you. This has been the single most effective course I’ve taken about iOS. I put it into practice right away and our App Store app, and its testing, has benefited greatly.”
Jake Young, Chief Information Officer
Who Is This Course For
You Are Fed Up With MVC
You already have experience building applications using Swift and Xcode, but you’re not happy or fed up with the MVC pattern.
You Are Looking for a Better Solution
You know it’s time to step up your game. It’s time to move beyond the Model-View-Controller pattern.
You Want to Build Scalable Applications
Your goal is to build robust, scalable applications for Apple’s platforms using Swift.
You Want to Learn From a Professional
You don’t want to plough through countless tutorials—most of which are out of date—that only show you partial implementations.
Frequently Asked Questions
When does the course start and finish?
The course starts now and never ends. You learn at your own pace. You decide when you start and when you finish. I am here to help you along the way if anything’s unclear.
How long do I have access to the course?
How does lifetime access sound? After purchasing the course, you have unlimited access to this course for as long as you like. You can access the course on any device you own.
What if I am unhappy with the course? Can I get a refund?
I would never want you to be unhappy. If you’re unsatisfied with your purchase, contact me within the first 30 days and I’ll give you a full refund.
Something’s not clear. Where can I get help?
If you need help with something related to the course, then get in touch with met at [email protected] I’m here to help you finish the course successfully.Watch the Course
Who Am I
My name is Bart and I’m the founder of Code Foundry, a mobile development company. I’ve been teaching since 2004 and I currently focus primarily on teaching developers how to create robust, scalable applications for Apple’s platforms using Swift and the Cocoa frameworks.
I’m crazy about film music and I have a soft spot for tea and coffee. I’m currently weaned off coffee, but we’ll see how long that lasts.
Battling Massive View Controller Syndrome
Are the view controllers of your projects suffering from Massive View Controller syndrome? You have carefully crafted the architecture of your application using the Model-View-Controller pattern and, yet, the view controllers of your project are ready to burst and impossible to test.
Adding a feature forces you to wade through hundreds of lines of code. You hope you don’t break anything while you carefully add a few lines of code. Don’t get me wrong. Your code isn’t bad. But there’s just so much of it. You have applied the Model-View-Controller pattern like you were told to and you still end up with an architecture you aren’t quite happy with.
It’s Not You. It’s MVC.
Because Apple’s frameworks are impregnated with the Model-View-Controller pattern we think it is the right or only tool for the job. Don’t make the same mistake. There is nothing wrong with the Model-View-Controller pattern, but there are better alternatives, especially if you are using Swift.
Put Your View Controllers On a Diet
It is time to put the view controllers of your project on a diet with the Model-View-ViewModel pattern. I’m sure you’ve heard about the Model-View-ViewModel pattern. It is the new cool kid in town. But the thing is that it isn’t a kid. MVVM has been around for many, many years and has earned its stripes.
Where Should This Code Go?
I bet you have asked yourself many times “Where should I put this piece of code?” Every developer asks himself/herself this question, multiple times a day. If you are still using MVC, then chances are that the answer is “the view controller”. Stop. Give MVVM a shot. You can thank me later.
The Model-View-ViewModel pattern is a perfect fit for Cocoa applications powered by Swift. The view model unburdens the view controller from the ungrateful task of data manipulation and transformation. The result is a focused, testable view model and a skinny, lightweight view controller.
Mastering Model-View-ViewModel With Swift 3
The Model-View-ViewModel pattern isn’t rocket science. In Mastering Model-View-ViewModel With Swift 3, you learn the ins and outs of the Model-View-ViewModel pattern by refactoring an application built with the Model-View-Controller pattern.
You learn how to create, use, and test view models. You use protocol-oriented programming to further simplify the view controllers of the project. You also learn how to easily adopt the Model-View-ViewModel pattern in your own projects.
Stop wasting time trying to fit your application’s architecture in the Model-View-Controller pattern if you have an alternative with a proven track record. Did I mention that Mastering Model-View-ViewModel With Swift 3 uses the latest Swift syntax?Watch the Course