React Native and native application development : A comparative study based on features & functionality when measuring performance in hybrid and native applications

University essay from Jönköping University/JTH, Avdelningen för datateknik och informatik

Author: Marcus Presa Käld; Oskar Svensson; [2021]

Keywords: ;

Abstract: Smartphone apps today have a wide array of different usages & features and several different tools can be used to develop these smartphone apps. These tools can be broken down into three different categories, depending on what type of app they create: Native, hybrid, or web apps. These types of apps come with their advantages and disadvantages when it comes to development, performance, and costs to name a few.   The purpose of this paper seeks to answer performance issues around gradual app development in the native development language Kotlin, in comparison to the hybrid development framework React Native, with a focus on common functionalities. The focus on functionality adds the perspective of not only performance but also how a native and hybrid app may respond to the implementations, to give a wider glance at how native and hybrid compare. This may give a better understanding of how the development will turn out for both hybrid and native, in real-life cases. The chosen components for performance in this study are CPU, RAM, and battery.  The method to carry out this research involves the implementation of two testing apps for smartphones, one for Kotlin and one for React Native who function the same for the corresponding platform. The testing apps are a construct of various functionality that will be gradually measured in experiments. The experiments for the apps have been created to be a mixture of user usage and assurance of representative data from the smartphone’s hardware components when the testing app is running. The experiments conducted in this essay show that React Native has an overall worse performance than Kotlin when it comes to CPU processing and that React Native is more prone to having a negative response in performance when features or functionality are implemented. Memory usage did not show the same clear difference. A functionality that performed somewhat worse than the others involved for React Native compared to Kotlin was GPS, as further investigation of the collected data showed.  

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)