Yet another mobile architectures comparison

Artem Goncharov
6 min readMar 4, 2020

There are a lot of articles about different architecture patterns for mobile applications which try to convince you that this or that architecture pattern is the best one. Sure thing, we all know that there is no a silver bullet… unfortunately. However, it’s a very good exercise to compare the most popular mobile architecture patterns (MVC, MVP, MVVM, VIPER, Riblets and Redux) and find out:

  • what we can learn from them,
  • how they can help us to design our app architecture.

Multitier architecture

In order to compare the above mentioned architecture patterns we need a baseline. I chose the multitier (actually 5 tier) architecture as it’s very popular, universal and has tiers/layers that are in fact very high level abstractions so we can use them to understand the abstraction level of the layers in mobile architecture patters.

There are a lot of information about the multitier architecture [1], depending on the type of system some authors find 3 layer (pure backend — Data, Business Logic, Presentation), some 4 or 5.

Each layer is a high level abstraction and the architecture has only one restriction: components in the layer can interact only to the components from the neighbour layers. It allows to decrease the coupling between parts of the application and keep a dependency graph in a manageable state.

--

--