Comparison between react native and native application development platform
Bohara, Monika (2020)
Bohara, Monika
2020
Degree Programme in Information Technology, MSc (Tech)
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2020-08-21
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202007076342
https://urn.fi/URN:NBN:fi:tuni-202007076342
Tiivistelmä
With the increase in demand of smartphones globally, it is very important for the developers to know the development process of the mobile applications for different operating systems. One major problem for the development process is that the developers need to know various features of different platforms which can be time consuming.
This thesis study focuses on the comparison of two frameworks – a cross-platform tool and native development methods. Among various cross-platform tools available, React Native is chosen and compared with Android and iOS platforms. The main method used for this thesis is literature study. Different papers and articles related to the topic are studied based on some strict criteria and the performance among these frameworks is compared. The study is also performed to analyse the user experience of the applications developed using React Native compared to that of applications developed using iOS and Android development process. Another factor such as development process of application for these frameworks and platforms is analysed to find out if there are any major differences in the development process.
The primary findings of the study show that the performance of native application development frameworks is comparatively better than that of React Native. React Native takes higher CPU usage. Also, the memory consumption of React Native applications is higher than that of native applications. However, the response time is almost similar for these frameworks. Moreover, a same code written using React Native can be shared between iOS and Android which reduces the development time if the application needs to be built for both iOS and Android devices. There were also no significant differences in terms of user experiences found during this study. In conclusion, the choice of framework for the mobile application development has to take into consideration performance, development time and developer’s preference of programming language.
This thesis study focuses on the comparison of two frameworks – a cross-platform tool and native development methods. Among various cross-platform tools available, React Native is chosen and compared with Android and iOS platforms. The main method used for this thesis is literature study. Different papers and articles related to the topic are studied based on some strict criteria and the performance among these frameworks is compared. The study is also performed to analyse the user experience of the applications developed using React Native compared to that of applications developed using iOS and Android development process. Another factor such as development process of application for these frameworks and platforms is analysed to find out if there are any major differences in the development process.
The primary findings of the study show that the performance of native application development frameworks is comparatively better than that of React Native. React Native takes higher CPU usage. Also, the memory consumption of React Native applications is higher than that of native applications. However, the response time is almost similar for these frameworks. Moreover, a same code written using React Native can be shared between iOS and Android which reduces the development time if the application needs to be built for both iOS and Android devices. There were also no significant differences in terms of user experiences found during this study. In conclusion, the choice of framework for the mobile application development has to take into consideration performance, development time and developer’s preference of programming language.