Clean architecture for iOS (VIPER/VIP)
During the last years, the mobile software industry has grown at a remarkable rate. Mobile applications were mainly small and contained generally few screens. While now they became gigantic, with a UI and business logic so complex.
In addition to testability issues faced with regular MVC architecture. The well known massive view controller problem made people look for an alternative to be able to scale well mobile applications.
Then Clean architecture, introduced by Robert C. Martin (a.k.a. Uncle Bob) started gaining interest by the mobile community. Searching for a better separation of concerns, and less coupling in the application codebase.
Clean architecture is an abstract concept which is not related to a given technology or language. Taking the special context of the mobile into account, people at first were not sure how to apply it on iOS. So Conrad Stoll came with VIPER in his article “Architecting iOS Apps with VIPER”. Which was the first architecture on iOS inspired by uncles bob clean architecture.
After that, Raymond Law suggested VIP architecture in his blog as an improvement of VIPER, criticised for not being fully aligned with clean architecture principles.
What is exactly the benefit of adopting Clean architecture ? what makes VIP different from VIPER ? And is…