Choosing an Architecture: The iOS Guide

MVC, MVVM or VIPER? What about coordinators?

Steven Curtis
8 min readAug 3, 2022
Photo by 贝莉儿 DANIST on Unsplash

This is common ground for those involved in App Development; as in how are you going to organise your code? How are you going to make sure that the classes are correctly instantiated?

This article is about choosing which architecture might be suitable for your App — for specific examples (with the code in the accompanying Git repos!) please do follow through the links featured alongside the explanations below.

Choosing an architecture

Choosing an architecture really comes down to the problem that you are attempting to solve. Therefore, in order to make a good decision we need to look at some criteria.

The criteria

  • Cross-platform compatibility (imagine the advantage of cross-platform code review)
  • Isolation of classes (decoupled code)
  • Separation of UI and Business logic
  • Testability

--

--