A Comparative Study of Software Architectures in Mobile Applications
The mobile market grows larger year by year and at the core of those devices, we have the mobile applications that push the technological advancement forward continuously. Due to the increased hardware performance and the popularity of those devices as well as advancements in their operating systems, mobile applications have grown to be complex projects with many dependencies and large teams working on them. As the application becomes bigger and more complex, the problem of choosing the right software architecture arises. This study focuses on an analysis of the most commonly used architectural patterns on mobile applications highlighting their features and flaws. Moreover, it also presents a comparison between them when implementing a medium-sized application. The usage of the appropriate architecture can simplify the work of developers and enable the creation of sustainable applications and the improvement of the software?s capacity to endure and evolve over time.
 S. Burbeck. Applications programming in smalltalk-80 (tm): How to use model-viewcontroller (MVC). Smalltalk-80 v2, 5:1–11, 1992.
 S. R. Chidamber and C. F. Kemerer. A metrics suite for object oriented design. IEEE Transactions on software engineering, 20(6):476–493, 1994.
 R. Garofalo. Building enterprise applications with Windows Presentation Foundation and the Model View View Model Pattern. Microsoft Press, 2011.
 J. Gilbert and C. Stoll. Architecting iOS apps with VIPER. https://www.objc.io/issues/13-architecture/viper/, 2014. Accessed date: 2018-04-02.
 S. Khanlou. Massive View Controller. http://khanlou.com/2015/12/massive-viewcontroller/, 2015. Accessed date: 2018-06-30.
 H. J. La and S. D. Kim. Balanced MVC architecture for developing service-based mobile applications. In e-Business Engineering (ICEBE), 2010 IEEE 7th International Conference on, pages 292–299. IEEE, 2010.
 D. Mark, J. LaMarche, and J. Nutting. More iPhone 3 Development. Springer, 2010.
 R. C. Martin. Clean architecture: a craftsman’s guide to software structure and design. Prentice Hall Press, 2017.
 MutualMobile. Meet VIPER: Mutual mobile’s application of clean architecture for iOS apps. https://mutualmobile.com/posts/meet-viper-fast-agile-non-lethal-iosarchitecture-framework, 2014. Accessed date: 2018-04-02.
 D. E. Perry and A. L. Wolf. Foundations for the study of software architecture. ACM SIGSOFT Software engineering notes, 17(4):40–52, 1992.
 D. Plakalovic and D. Simic. Applying MVC and PAC patterns in mobile applications. arXiv preprint arXiv:1001.3489, 2010.
 M. Potel. MVP: Model-view-presenter the taligent programming model for C++ and Java. Taligent Inc, page 20, 1996.
 T. Reenskaug. The model-view-controller (MVC): its past and present. University of Oslo Draft, 2003.
 T. M. H. Reenskaug. The original MVC reports. Technical report, Xerox Palo Alto Research Laboratory, PARC, 1979.
 F. J. A. Salazar and M. Brambilla. Tailoring software architecture concepts and process for mobile application development. In Proceedings of the 3rd International Workshop on Software Development Lifecycle for Mobile, pages 21–24. ACM, 2015.
 P. Sauter, G. V¨ogler, G. Specht, and T. Flor. A MVC extension for pervasive multi-client user interfaces. Personal and Ubiquitous Computing, 9(2):100–107, 2005.
 M. A. Sayed. VIPER design pattern for iOS application development. https://medium.com/@smalam119/viper-design-pattern-for-ios-applicationdevelopment-7a9703902af6, 2017. Accessed date: 2018-04-02.
 F. E. Shahbudin and F.-F. Chua. Design patterns for developing high efficiency mobile application. Journal of Information Technology & Software Engineering, 3(3):1, 2013.
 A. Sinhal. MVC, MVP and MVVM design pattern. https://firstname.lastname@example.org/mvc-mvp-and-mvvm-design-pattern6e169567bbad, 2017. Accessed date: 2018-04-02.
 K. Sokolova, M. Lemercier, and L. Garcia. Android passive MVC: a novel architecture model for android application development. In International Conference on Pervasive Patterns and Applications, pages 7–12, 2013.
 K. Sokolova, M. Lemercier, and L. Garcia. Towards high quality mobile applications: Android passive MVC architecture. International Journal On Advances in Software, 7(2):123–138, 2014.
 Statcounter. Mobile operating system market share worldwide. http://gs.statcounter.com/os-market-share/mobile/worldwide/monthly-201705-201805, 2018. Accessed date: 2018-06-30.
 C. Trevino. Flux and presentation architectures. https://blog.atsid.com/flux-andpresentation-architectures-91283f7ef94b, 2016. Accessed date: 2018-04-02.
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
When the article is accepted for publication, I, as the author and representative of the coauthors, hereby agree to transfer to Studia Universitatis Babes-Bolyai, Series Informatica, all rights, including those pertaining to electronic forms and transmissions, under existing copyright laws, except for the following, which the author specifically retain: the right to make further copies of all or part of the published article for my use in classroom teaching; the right to reuse all or part of this material in a review or in a textbook of which I am the author; the right to make copies of the published work for internal distribution within the institution that employs me.