A Comparison of Android Native App Architecture – MVC, MVP and MVVM

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis
Ask about the availability of the thesis by sending email to the Aalto University Learning Centre oppimiskeskus@aalto.fi

Department

Mcode

SCI3022

Language

en

Pages

45 + 4

Series

Abstract

Fast iteration in Android application is a big challenge for development efficiency and quality that are influenced by architecture. It is claimed that Model-View-Presenter (MVP) and Model-View-ViewModel (MVVM) are better than the default Android native app architecture Model-View-Controller (MVC). But there is no empirical data to support this point of view. In addition, refactoring the project to adopt the new architecture requires a lot of efforts from development to test. Thus, some app organizations are skeptical of employing MVP and MVVM in Android. This thesis aims to provide a thorough analysis to find out whether MVP and MVVM architecture are better than MVC from quality perspective. To answer this question, Architecture Tradeoff Analysis Method are selected. Then, we set three criteria: testability, modifiability and performance. For each quality attribute, key factors are recognized. Comparison is based on these selected criteria. Analysis and experiments show MVP and MVVM have better testability, modifiability (low coupling level) and performance (consuming less memory). That is, MVP and MVVM are better than MVC on the selected three criteria. But for MVP and MVVM, there is no evidence showing that one is superior to another. These two architectures have similar performance, while MVP provides better modifiability and MVVM provides better testability.

Description

Supervisor

Saikkonen, Heikki

Thesis advisor

Mitts, Håkan

Other note

Citation