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

No Thumbnail Available
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
Date
2016-09-26
Department
Major/Subject
Service Design and Engineering
Mcode
SCI3022
Degree programme
Master's Programme in ICT Innovation
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
Keywords
android app architecture, MVP, MVVM, MVC, ATAM, software quality
Other note
Citation