Choosing an architecture for mobile applications
A.K. Marinin
Upload the full text
Abstract. The purpose of the article is to analyze the applicability of the MVC, MVP and MVVM, VIPER and CLEAN architecture templates in mobile development for iOS and Android OS and identify the most suitable software architecture for developing mobile applications on these platforms based on attributes such as testability, connectivity and maintainability. The research methodology is based on methods of analysis, synthesis, and generalization of data obtained by comparing various architectural models for mobile development. These architectures are MVC, MVP and MVVM, VIPER and CLEAN architecture. The criteria for comparative analysis are testability, maintainability, conjugacy, and reusability. Architecture plays an important role in the development of mobile applications. As a result of the comparative analysis of the templates, we conclude that the MVVM architecture is a suitable option for developing mobile applications on Android. We conducted an analysis based on criteria such as testability, maintainability and coupling. All architecture templates support different properties, but we chose a combination of MVVM with Clean Architecture because it supports all attributes, and the Clean Architecture template solves the problems that arise when using MVVM alone.
Keywords: software, mobile development, architecture template, MVC, MVP, MVVM, VIPER, CLEAN architecture, testability, user interface
For citation. Marinin A.K. Choosing an architecture for mobile applications. News of the Kabardino-Balkarian Scientific Center of RAS.2024. Vol. 26. No. 5. Pp. 84–93. DOI: 10.35330/1991-6639-2024-26-5-84-93
References
- Mobile operating system market share worldwide. URL: https://gs.statcounter.com/os-marketshare/mobile/worldwide/2023 (дата обращения: 12.03.2024).
- Ambani D. Model view controller (MVC): A latest mobile & web application development approaches. Vidhyayana-An International Multidisciplinary Peer-Reviewed E-Journal. 2020. Vol. 6. No. 3. Pp. 1–12.
- Vennaro E. VIPER. iOS Development at Scale: App Architecture and Design Patterns for Mobile Engineers. Berkeley, CA: Apress, 2023. Pp. 299–326.
- Epiloksa H.A., Kusumo D.S., Adrian M. Effect Of MVVM Architecture Pattern on Pp. 1949–1955.
- Sukarsa I.M., Piarsa I.N., Premana Putra I.G.B. et al. Application of MVP architecture in developing android-based seminar ticket booking applications. Journal RESTI (Rekayasa Sistem
dan Teknologi Informasi). 2020. Vol. 4. No. 3. Pp. 513–520. DOI: 10.29207/resti.v4i3.1396 - Capdepon Q., Hlad N., Serial A. et al. Migration process from monolithic to micro frontend architecture in mobile applications. IWST 2023: International Workshop on Smalltalk Technologies. Lyon, France; August 29th-31st, 2023. Pp. 1–10.
- Sokolova K., Lemercier M. Towards high quality mobile applications: Android passive MVC architecture. International Journal On Advances in Software. 2014. Vol. 7. No. 2. Pp. 123–138.
- Lombardi M., Pascale F., Santaniello D. Internet of things: A general overview between architectures, protocols and applications. Information. 2021. Vol. 12. No. 2. P. 87.
- Nunkesser R. Using hexagonal architecture for mobile applications. ICSOFT. 2022. Pp. 113–120.
- Vasilevsky M.P. Selecting the architecture of an Android application. Informatsionnoanaliticheskiye i intellektual’nyye sistemy dlya proizvodstva i sotsial’noy sfery [Information, analytical and intelligent systems for production and the social sphere]. 2022. Pp. 25–30. (In Russian)
- Sommerville I. Engineering software products. London: Pearson, 2020. 355 p.
- Dobrean D., Dioșan L. A comparative study of software architectures in mobile applications. Studia Universitatis Babeș-Bolyai Informatica. 2019. Pp. 49–64.
- Andika M.R., Selviandro N., Wulandari G.S. Understanding the Impact of Modularity in iOS App Performance using VIPER Architecture Pattern. 2023 3rd International Conference on
Intelligent Cybernetics Technology & Applications (ICICyTA). IEEE, 2023. Pp. 358–363. - Salazar F.J.A., Brambilla M. Tailoring software architecture concepts and process for mobile application development. Proceedings of the 3rd International Workshop on Software
Development Lifecycle for Mobile. 2015. Pp. 21–24. - Kurganova A.G. The process of choosing an architecture for a mobile application. StudNet. Vol. 4. No. 6. Pp. 386–397. (In Russian)
- Bakshansky V.D., Dunskaya L.K., Zamotailova D.A. Organizational differences in the architecture of mobile applications using the Service Worker script. Tsifrovizatsiya ekonomiki: napravleniya, metody, instrumenty [Digitalization of the economy: directions, methods, tools]. Pp. 261–264. (In Russian)
Information about the author
Alexey K. Marinin, Master’s Student, Moscow University for Industry and Finance “Synergy”;
129090, Russia, Moscow, 9/14, building 1, Meshchanskaya street;
aleksei.marinin247@gmail.com, ORCID: https://orcid.org/0009-0008-0242-8074, SPIN-code: 9423-4060










