A Comparative Analysis of Mobile Application Development Approaches
Mobile Application Development Approaches
Keywords:Mobile Applications,, Native, Cross-platform, Development, Programming
Over the last decade, there has been a significant increase in the development of mobile applications. The performance of the developed applications depends largely on the development approaches. There are two widely used approaches: (1) native, where the application is targeted and developed for a specific platform, (2) crossplatform, where the developed application runs on multiple platforms. This paper aims to address the question of which approach should be used in various scenarios. We have performed a detailed comparison of the two approaches by developing a mobile app using both approaches. Experiments are performed using Android and iOS, the two most well-known mobile Operating System. The criteria of deciding the best approach include performance, usability and support. Our results show that both approaches are viable depending on the requirements and type of the application to be developed, with native having an edge. Guidelines are presented at the end to help the developers in choosing the best approach. The fundamental differences and advantages of each approach are discussed.
“Mobile OS market share 2018 | Statista,” 2018.[Online]. Available: https://www.statista.com/
J. Gosling, B. Joy, G. Steele, G. Bracha and A.Buckley, “The Java® Language Specification,2015,” Java SE, vol. 8, 2016.
M. Shafirov, “Kotlin on android. now official,” 2017.[Online]. Available: https://blog.jetbrains.com/kotlin/2017/05/kotlin-on-android-now-official/.
G. Wells, The Future of iOS Development : Evaluating the Swift Programming Language The Future of iOS Development : Evaluating the Swift Programming, 2015.
S. Xanthopoulos and S. Xinogalos, “A comparative analysis of cross-platform development approaches for mobile applications,” in Proceedings of the 6th Balkan Conference in Informatics, 2013.
Ziflaj, “Native vs Hybrid App Development,” 2014. [Online]. Available: http://www.sitepoint.com/native-vs-hybrid-app-development/.
R. Soley and the OMG Staff Strategy Group, “Model driven architecture,” OMG white paper, vol. 308, p.5, 2000.
S. Roubi, M. Erramdani and S. Mbarki, “A Model Driven Approach for generating Graphical User Interface for MVC Rich Internet Application.,” Computer and Information Science, vol. 9, p. 91–98, 2016.
P. Kumar, “Analysis of Native and Cross-Platform Methods for Mobile Application Development,”2014.
H. Heitkötter, S. Hanschke and T. A. Majchrzak, “Evaluating cross-platform development approaches for mobile applications,” in International Conference on Web Information Systems and Technologies, 2012.
M. Latif, Y. Lakhrissi, N. Es-Sbai and others, “Cross platform approach for mobile application development: A survey,” in 2016 International Conference on Information Technology for Organizations Development (IT4OD), 2016.
S. K. Dalmasso, C. Datta, N. Bonnet, and Nikaein, “Survey, comparison and evaluation of cross platform mobile application development tools,” in 2013 9th International Wireless Communications and Mobile Computing Conference (IWCMC), 2013.
S. Charkaoui, Z. Adraoui and E. H. Benlahmar, “Cross-platform mobile development approaches,” in 2014 Third IEEE International Colloquium in Information Science and Technology (CIST), 2014.
A. Biørn-Hansen, T.M. Grønli and G. Ghinea, “Baseline Requirements for Comparative Research on Cross-Platform Mobile Development: A Literature Survey,” in Norsk Informatikkonferanse - 2017, 2017.
Sommer and S. Krusche, “Evaluation of crossplatform frameworks for mobile applications,” Software Engineering 2013-Workshopband, vol.215, no. January, pp. 363-376, 2013.
P. Nawrocki, K. Wrona, M. Marczak, and B. Sniezynski. A Comparison of Native and Cross- Platform Frameworks for Mobile Applications. Computer, 54(3), 18-27 (2021)
D. Inupakutika, S. Kaghyan, D. Akopian, P. Chalela, and A.G. Ramirez. Facilitating the development of cross-platform mHealth applications for chronic supportive care and a case study. Journal of biomedical informatics, 105, p.103420 (2020).
A. Biørn-Hansen, C. Rieger, T. M. Grønli, T.A. Majchrzak, and G. Ghinea, An empirical investigation of performance overhead in cross platform mobile development frameworks. Empirical Software Engineering, 25, pp.2997-3040 (2020)
M. Isitan, and M. Koklu. “Comparison and Evaluation of Cross Platform Mobile Application Development Tools.” International Journal of Applied Mathematics Electronics and Computers 8,no. 4: 273-281 (2020).
A. Biørn-Hansen, T.M. Grønli, and G. Ghinea. Animations in cross-platform mobile applications: An evaluation of tools, metrics and performance. Sensors, 19(9), p.2081 (2019).
M. Martinez, “Two datasets of questions and answers for studying the development of cross-platform mobile applications using Xamarin framework.” In IEEE/ACM 6th International Conference on Mobile Software Engineering and Systems (MOBILESoft),
pp. 162-173. IEEE, 2019.
K. Vassallo, G. Lalit, P. Vijay, and K. Ramesh.“Contemporary technologies and methods for cross-platform application development.” Journal of Computational and Theoretical Nanoscience 16,no. 9, 3854-3859 (2019).
I. Swarna, P. James, and A. Randy. “Cross- Platform Analysis and Development of Online Catering Platform (Kunyahku).” Journal of Applied Information, Communication and Technology 7, no. 2, 79-89 (2020).
V. R. Basili, G. Caldiera and H. D. Rombach, “The goal question metric approach,” Encyclopedia of Software Engineering, p. 528–532, 1994.
Sullivan, Examining performance differences between Native, Flutter, and React Native mobile development, 2018.
“Content License | Android Open Source Project,” 2018. [Online]. Available: https://source.android.com/setup/start/licenses.
“Terms and conditions | Android Developers,”[Online]. Available: https://developer.android.com/studio/terms.
“Flutter License,” 2018. [Online]. Available: https://github.com/flutter/flutter/blob/master/LICENSE.
“FAQ - Flutter,” 2018. [Online]. Available: https://flutter.io/docs/resources/faq#what-devices-and-osversions-does-flutter-run-on.
“local_auth | Flutter Package,” 2018. [Online].Available: https://pub.dartlang.org/packages/local_auth.
flutter.dev, “shared_preferences | Flutter Package,”2018. [Online]. Available: https://pub.dartlang.org/packages/shared_preferences.
“Writing custom platform-specific code - Flutter,” 2017. [Online]. Available: https://flutter.io/docs/development/platform-integration/platformchannels.
“Swift - Apple Developer,” 2018. [Online].Available: https://developer.apple.com/swift/.
“Alphabet Inc (GOOG) 2018 3Q Earnings,” 2018. [Online]. Available: https://www.sec.gov/Archives/edgar/data/1652044/000165204418000035/goog10-qq32018.htm.
“Flutter 1.0,” 2018. [Online]. Available: https://developers.googleblog.com/2018/12/flutter-10-googles-portable-ui-toolkit.html.
“Design for Android,” 2018. [Online]. Available: https://developer.android.com/design.
“iOS Human Interface Guidelines,” 2018. [Online]. Available: https://developer.apple.com/design/human-interface-guidelines/ios/overview/themes/.
“Android Studio features,” 2018. [Online]. Available: https://developer.android.com/studio/features.