React Native Application Development with Redux State Management

OData support
Dr. Szécsi László
Department of Control Engineering and Information Technology

With the spread of the smartphones it became important for the well known services to be distributed in the form of mobile applications. Because there are two mayor players in the war for the mobile market (Android and iOS), developing even a simple application can cost huge overhead in the workload, because resources for the development on both platforms must be provided. Thanks to the difference in architectures and programming languages there is no simple solution to cross paths between platforms.

In 2015 Facebook released the new generation of their React library, the React Native. Their main goal was to develop reusable code between web and mobile platforms, and not to build the same app from the scratch on different platforms. React Native made it possible to cross between Android, iOS and UWP (Universal Windows Platform), even on JavaScript, making the code compatible for web applications.

Regardless of mobile or web applications, it is very important how components share data with each other, how and when to access data. To handle this I choose the Redux state management libary, which offers an easy and efficient architecture to control application state.

My mobile application is made for a community of the university, the members of this community can apply to events and fill out forms with the app. As part of a bigger IT project of this community, this application serves as the base of the mobile platform. There is a big chance there will be future development regarding this project. Because the backend application handling the client requests is still under development, I used a test server during my work.

In this paper I will give details about the used technologies, development and testing process and difficulties, as well as I will display the behaviour and structure of the application.


Please sign in to download the files of this thesis.