Comparative analysis of mobile software development frameworks : react native and native iOS

Dissertant

Abu Bakr, Bisan

Thesis advisor

Tawil, Adil
Zayn, Samir

University

Birzeit University

Faculty

Faculty of Engineering and Technology

Department

Department of Computer Systems Engineering

University Country

Palestine (West Bank)

Degree

Master

Degree Date

2020

Arabic Abstract

ينقسم سوق تطوير تطبيقات الهاتف المحمول بين عند محدود من أنظمة التشغيل، بشكل أساسي الذي او اس والاندرويد، و هذا يجعل من موضوع تطوير التطبيقات للهواتف المحمولة أمر صعب و معقد نوعا ما.

يجب على المطورين أن يعرفوا الفروقات بين الأدوات المستخدمة لتطوير نظامي التشغيل الاندرويد و الاي او اس و هذا يتطلب جهود معرفية أكثر من ناحية برمجة و صيانة بالاضافه الى مهندسين مختصين بكالا انظمه التشغيل و بالتالي زيادة في الميزانية.

هناك عدة طرق و توجهات لحل هذه المشاكل منها التطوير باستخدام طريقة الهايبرد مثل بيئة الايونيك و الفون جاب، و لكنهما فشلنا في إعطاء واجهه شعور اصليه للمستخدمين ظهرت بعد ذلك بيئة جديدة حلت المشكله المذكور سابقا و أعطت شعور أصلي للمستخدمين و هي الرياكت نيتف.

ریاكت نيتف هي بيئة تعمل بنظام الكروس بلاتفورم بحيث تمكن المبرمجين من تطوير تطبيقات للهواتف المحمولة تعمل بنظامي الاندرويد و الاي او اس بنفس الوقت باستخدام كود واحد مكتوب بلغة الجافا سكربت مع إعطاء شعور أصلي للمستخدمين، و لكن قدرات هذه البيئة لم تدرس بشكل كافي لإعطاء الخيار الأمثل لطريقه التطوير المثلى المنصوح باستخدامها.

في هذا البحث، نقوم اولا بتقييم الفعالية و الأداء للتطبيقات المكتوبة في بيئه الرياكت نيتف الجديدة، و من ثم نقوم بتقديم مقترح هندسي جديد لتحسين أداء التطبيقات المكتوبة بالرياكت نيتف للهدف الأول، نقوم بعمل دراسة مقارنة بين التطبيقات المطارة باستخدام الريكات نيتف و الاي او اس من ناحيه ، وقت التنفيذ، وقت المعالجة، الذاكرة واستهلاك البطارية، بالاضافه الى عدد الإطارات المعروضة في الثانية و وقت بدء التطبيق.

تركيزنا هنا على التطبيقات التي تحتوي على بيانات كثيرة كما انها تعالج و تقرأ و تكتب هذه البيانات على سيرفرات و تخزين محلي و ملفات.

للهدف الثاني، بناء على نتيجة دراسة المقارنة، قمنا بتقديم خطوط مساعدة لتحسين أداء التطبيقات المطورة ببيئة الرياكت نيتف.

النتائج إيجابية باتجاه الرياكت نيتف، و قد أظهرت تشابه كبير بين الأداء للتطبيقات المطورة باستخدام الرياكت نيتف و الاي او اس، و هذا يعني أنه لا يوجد فروقات كبيرة بين هاتين البيئتين الفروقات بسيطه تتراوح بين 3% الى %10 فقط.

على أية حال، لقد وجد فرق أساسي بين الرياكت نيتف و الاي او اس من ناحية معالجة الصور، تبين أن الآي أو أس أسرع بثلاثة مرات من الرياكت نيتف، و تم تقديم طريقة هندسية لتطوير الكود المكتوب بالرياكت نيتف لتصبح سرعته قريبة جدا من سرعه الاي او اس.

English Abstract

Mobile applications market is divided between limited number of distinct platforms, mainly iOS and Android, which makes mobile application development problematic and difficult.

Developers are required to having knowledge about development differences and tools for both platforms, which demands more development and maintenance effort, multiplatform-skilled software engineers, increased budget and multiple programming language skills.

Several approaches have attempted to address this issue, including the use of hybrid development frameworks, such as ionic [1] and PhoneGap [2], but they were not able to provide a native user interface (UI) feeling.

A newly released hybrid framework that addresses the user interface problem by providing a native UI feeling is React Native.

React Native is a cross-platform framework that enables developing mobile applications that work on both iOS and Android platforms, using a single code written in JavaScript, with native UI feeling.

However, its cross-platform capabilities have not been studied enough to understand its characteristics to make an informed software development choice.

This thesis evaluates the performance and efficiency of applications written in the new React Native framework and proposes a software engineering method that improves performance of React Native applications.

For the former, it conducts a comparative study between applications developed using iOS and React Native with respect to execution and CPU time, memory and battery usage, frames per second and application launch time.

Our focus is on the data centric apps, i.e.

apps that process, read and write data to back-end server as well as local storage and files.

For the later, based on the outcome of the comparative study, a study of React Native development features was conducted to identify its comparative deficiencies to provide software development guidelines on mechanisms to improve React Native applications development.

Results are promising for React Native.

They show a big similarity, on application performance, between both iOS and React Native platforms.

Which means, there is no significant difference between performance in the two frameworks on the studied software features and applications, with a difference in performance ranging between 3%- 10%.

However, a major performance difference was found in React Native, compared to iOS, on image processing.

For this feature, iOS was found three times faster than React Native, for the studied applications.

A code improvement solution is proposed to address this React Native performance issue and improve its execution time to as nearly as iOS.

Main Subjects

Information Technology and Computer Science

No. of Pages

86

Table of Contents

Table of contents.

Abstract.

Abstract in Arabic.

Chapter One : Introduction.

Chapter Two : Background.

Chapter Three : Literature review.

Chapter Four : Research methodology.

Chapter Five : Experiments and results.

Chapter Six : Conclusion.

References.

American Psychological Association (APA)

Abu Bakr, Bisan. (2020). Comparative analysis of mobile software development frameworks : react native and native iOS. (Master's theses Theses and Dissertations Master). Birzeit University, Palestine (West Bank)
https://search.emarefa.net/detail/BIM-1411875

Modern Language Association (MLA)

Abu Bakr, Bisan. Comparative analysis of mobile software development frameworks : react native and native iOS. (Master's theses Theses and Dissertations Master). Birzeit University. (2020).
https://search.emarefa.net/detail/BIM-1411875

American Medical Association (AMA)

Abu Bakr, Bisan. (2020). Comparative analysis of mobile software development frameworks : react native and native iOS. (Master's theses Theses and Dissertations Master). Birzeit University, Palestine (West Bank)
https://search.emarefa.net/detail/BIM-1411875

Language

English

Data Type

Arab Theses

Record ID

BIM-1411875