Software architectural patterns and principles in Android development
Arponen, Oskari (2023)
Arponen, Oskari
2023
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202303103367
https://urn.fi/URN:NBN:fi:amk-202303103367
Tiivistelmä
Since the appearance of the first mobile devices, approximately 86,4 percent of the whole world population own a mobile device. Consequently, this has lead to the growth of the mobile application industry and simultaneously to an increased competition. To succeed in the industry, applying a proper software architectural pattern is mandatory.
The objective of the thesis was to study how a Model View ViewModel (MVVM) architectural pattern implementation affects the quality of an Android calorie counter application in the perspective of software engineering. Furthermore, in order to obtain a more thorough understanding of software architectural patterns and software principles, the thesis explains the purpose of software architectural patterns and what software principles are about. Additionally, the thesis explains the differences between the MVC, MVP and MVVM architectural patterns.
The development process was carried out in Android Studio IDE. The utilized calorie counter application is a previously developed study project using Java. Utilizing the Android application, the thesis describes how the MVVM architectural pattern and software principles affect the application.
Implementing the MVVM architectural pattern and software principles increases the lifespan of the application, in terms of modifying and creating new functionality. However, creating new components may become slightly more complicated, as creating a new activity requires a corresponding view model as well. For future development, all Activity classes should implement the MVVM architectural pattern. Additionally, would the application grow larger, it would benefit from an Clean Architecture implementation in addition to the MVVM architectural pattern.
The objective of the thesis was to study how a Model View ViewModel (MVVM) architectural pattern implementation affects the quality of an Android calorie counter application in the perspective of software engineering. Furthermore, in order to obtain a more thorough understanding of software architectural patterns and software principles, the thesis explains the purpose of software architectural patterns and what software principles are about. Additionally, the thesis explains the differences between the MVC, MVP and MVVM architectural patterns.
The development process was carried out in Android Studio IDE. The utilized calorie counter application is a previously developed study project using Java. Utilizing the Android application, the thesis describes how the MVVM architectural pattern and software principles affect the application.
Implementing the MVVM architectural pattern and software principles increases the lifespan of the application, in terms of modifying and creating new functionality. However, creating new components may become slightly more complicated, as creating a new activity requires a corresponding view model as well. For future development, all Activity classes should implement the MVVM architectural pattern. Additionally, would the application grow larger, it would benefit from an Clean Architecture implementation in addition to the MVVM architectural pattern.