search query: @keyword mvc / total: 13
reference: 2 / 13
« previous | next »
Author:Lou, Tian
Title:A Comparison of Android Native App Architecture - MVC, MVP and MVVM
Publication type:Master's thesis
Publication year:2016
Pages:(7) + 45 s. + liitt. 4      Language:   eng
Department/School:Perustieteiden korkeakoulu
Main subject:Service Design and Engineering   (SCI3022)
Supervisor:Saikkonen, Heikki
Instructor:Mitts, HÃ¥kan
Electronic version URL: http://urn.fi/URN:NBN:fi:aalto-201610124940
Location:P1 Ark Aalto  4643   | Archive
Keywords:android app architecture
MVP
MVVM
MVC
ATAM
software quality
Abstract (eng):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.
ED:2016-10-16
INSSI record number: 54672
+ add basket
« previous | next »
INSSI