aalto1 untyped-item.component.html
A comparison of android native app architecture – MVC, MVP and MVVM
Loading...
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
Authors
Date
Department
Major/Subject
Mcode
SCI3022
Degree programme
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.