VIPER and best practices
Last modified on Thu 14 Jan 2021
How to organize all your code and not end up with a couple of Massive View Controllers with millions of lines of code?

In short, VIPER (View Interactor Presenter Entity Router) is an architecture which aims at solving the common Massive View Controller problem in iOS apps. When implemented to its full extent, it achieves separation of concerns between modules in your code, which yields testability. This is also good because poor testability is another problem with Apple's Model View Controller architecture.

If you're interested in learning more about how it works and how you can easily generate necessary VIPER files, check out the README for our VIPER Xcode Templates GitHub repo.