Cross platform mobile application development: a ...

Awel Eshetu Fentaw

Cross platform mobile application development: a comparison study

of React Native Vs Flutter

UNIVERSITY OF JYV?SKYL?

FACULTY OF INFORMATION TECHNOLOGY

2020

ABSTRACT

Author: Awel Eshetu Fentaw

Contact information: awelk1982@

Supervisors: Dr. Oleksiy Khriyenko

Title: Cross platform mobile application development: a comparison study of React Native Vs

Flutter

Project: Master¡¯s thesis

Study line: WISE

Page count: 83 + 3 (83= page count without appendices; 4= page count of appendices)

With a dramatic increase in the usage of handheld devices such as smartphones and tablets, it

became a matter of existence for businesses if they do not deliver their services to address mobile

users. One critical problem for businesses to address these massively growing users is the diversity

of mobile platforms that users prefer to use. Businesses need to find a way for their service to run

in different mobile platforms using a single code base or very minimal platform specific tweaks.

Hence cross-platform mobile application development comes to the rescue.

Among the widely used cross-platform mobile application development kits are React Native and

Flutter. React Native is an open-source mobile application development framework created by

Facebook. Developers can develop applications for mobile and web by using React. React is a

declarative, component-based JavaScript library for building user interfaces (UI). Another

important UI toolkit is Flutter. Flutter is Google¡¯s UI toolkit for developing natively compiled

applications for mobile, web and desktop from a single codebase written using Dart.

This thesis presents a comparison study of two widely used cross-platform mobile application

development kits. It starts by discussing common application development methodologies.

Following that, this thesis details mobile application development approaches with high emphasis

on cross-platform mobile application development using React Native and Flutter. There is an

implementation of COVID-19 tracking application which consumes REST (Representational State

i

Transfer) API (Application Programming Interface) from nubentos [3] and coronavirus open API

[43]. The application is developed using React Native and Flutter which will be used for

performance analysis and comparison between the two applications running on Android and iOS

platforms.

Keywords: Application development, Mobile application, React Native, Flutter, Cross-platform

application, Performance, Native application

ii

ACKNOWLEDGEMENTS

I would ?rst like to thank my thesis supervisor, Dr. Oleksiy Khriyenko, who provided great

suggestions on the flow of the thesis and contents to be added. I would also like to thank all friends

who helped me borrow their devices during testing of the application developed for this thesis.

Thank you.

Espoo, June 2, 2020

Awel Eshetu

iii

ABBREVIATIONS AND ACRONYMS

UI

User Interface

RAD

Rapid Application Development

CPU

Central Processing Unit

GPU

Graphics Processing Unit

AI

Artificial Intelligence

IoT

Internet of Things

VAR

Virtual and Augmented Reality

REST

Representational State Transfer

COVID-19

Coronavirus disease 2019

API

Application Programming Interface

XP

Extreme programming

GPS

Global Positioning System

IDE

Integrated Development Environment

APK

Android Package

SDK

Software Development Kit

HTML

Hypertext Markup Language

CSS

Cascading Style Sheet

JSX

JavaScript XML

IPA

iOS App Store Package

DOM

Document Object Model

BLoC

Business Logic Component

iv

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download