Mobile Application Development Methods: Comparing Native and Non-Native Applications
Poku-Marboah, Oheneba (2021)
Poku-Marboah, Oheneba
2021
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2021100518369
https://urn.fi/URN:NBN:fi:amk-2021100518369
Tiivistelmä
The topic for this thesis is “Mobile Application Development Methods: Comparing Native and Non-Native Applications”. The purpose of the thesis is to acquaint the reader with factors to consider before commissioning a mobile application. For any decision-makers commissioning a mobile application for a business or other institution, general knowledge of how to reach a broad audience is essential.
Insight into non-native mobile applications’ viability comes from a performance analysis comparing a native mobile application to a non-native one. For this purpose, two identical mobile applications were built representing a native mobile application and a cross-platform mobile application. The applications were built using Kotlin for the native Android application and React Native for the cross-platform application. Because the applications were identical, the CPU load and memory consumption were measured while some tasks were performed. The measurements were then compared graphically to assess the efficiency and capability of the cross-platform application compared to the native method. Thus, it demonstrates that non-native mobile applications can be as capable as the native methods recommended by Google and Apple for their respective operating systems, even if they are not as memory-efficient.
This thesis deliberates the current state of the mobile industry. It expounds on the prominence of mobile applications, their usage, and the predicted trends. Furthermore, as the principal purpose, the different methods of mobile applications for a broad audience is discussed. The thesis’ scope does not include an in-depth look at any of the discussed methods but rather an overview to introduce them to the reader. The scope includes platform-dependent applications and platform-agnostic mobile software applications, i.e., cross-platform mobile applications.
Further research is needed on more varied use cases, for example, heavy usage of animations. In addition, the memory consumption could be further studied with a React Native application that is not built with Expo to see the difference in memory consumption.
Insight into non-native mobile applications’ viability comes from a performance analysis comparing a native mobile application to a non-native one. For this purpose, two identical mobile applications were built representing a native mobile application and a cross-platform mobile application. The applications were built using Kotlin for the native Android application and React Native for the cross-platform application. Because the applications were identical, the CPU load and memory consumption were measured while some tasks were performed. The measurements were then compared graphically to assess the efficiency and capability of the cross-platform application compared to the native method. Thus, it demonstrates that non-native mobile applications can be as capable as the native methods recommended by Google and Apple for their respective operating systems, even if they are not as memory-efficient.
This thesis deliberates the current state of the mobile industry. It expounds on the prominence of mobile applications, their usage, and the predicted trends. Furthermore, as the principal purpose, the different methods of mobile applications for a broad audience is discussed. The thesis’ scope does not include an in-depth look at any of the discussed methods but rather an overview to introduce them to the reader. The scope includes platform-dependent applications and platform-agnostic mobile software applications, i.e., cross-platform mobile applications.
Further research is needed on more varied use cases, for example, heavy usage of animations. In addition, the memory consumption could be further studied with a React Native application that is not built with Expo to see the difference in memory consumption.