0% found this document useful (0 votes)
18 views8 pages

Mobile Development Frameworks

This paper analyzes four widely used mobile application frameworks: React Native, Swift UI, Flutter, and Xamarin, to assist developers in selecting the most suitable framework based on project needs. It highlights the challenges developers face in choosing the right framework due to the variety available and proposes an application to recommend the best option. The document is structured to provide an overview of mobile applications, detailed descriptions of the frameworks, and an analysis to guide developers in their decision-making process.

Uploaded by

cristalita.cg
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views8 pages

Mobile Development Frameworks

This paper analyzes four widely used mobile application frameworks: React Native, Swift UI, Flutter, and Xamarin, to assist developers in selecting the most suitable framework based on project needs. It highlights the challenges developers face in choosing the right framework due to the variety available and proposes an application to recommend the best option. The document is structured to provide an overview of mobile applications, detailed descriptions of the frameworks, and an analysis to guide developers in their decision-making process.

Uploaded by

cristalita.cg
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Available online at www.sciencedirect.

com

Available online at www.sciencedirect.com


Available online at www.sciencedirect.com
Available online at www.sciencedirect.com

ScienceDirect
Procedia Computer Science 00 (2024) 000–000
www.elsevier.com/locate/procedia
Procedia Computer Science 00 (2024) 000–000
Procedia Computer
Procedia Science
Computer 23600
Science (2024) 597–604
(2024) 000–000
www.elsevier.com/locate/procedia
www.elsevier.com/locate/procedia
International Symposium on Green Technologies and Applications (ISGTA’2023)

Comparative
International analysis
International Symposium
Symposium
Symposium on
on of mobile
on Green
Green
Green application
Technologies
Technologies
Technologies and Frameworks:
and Applications
and Applications (ISGTA’2023)
(ISGTA’2023)
(ISGTA’2023)A
Comparative
Comparativedeveloper’s guide
analysis
analysis of for choosing
of mobile
mobile the right
application
application tool
Frameworks:
Frameworks: A
A
developer’s
a,∗
Adnanedeveloper’s
Souha , Lamyaguide
guide fora choosing the
for ,choosing
Benaddi a right tool
the, right
Charaf Ouaddi AbdeslamtoolJakimi a
a
a,∗ of Informatics, Faculty ofaSciences and Technics, UMI-Meknes
GL-ISI Team, Department. a Errachidia, Moroccoa
Adnane
Adnane Souha
Souhaa,∗,, Lamya
Lamya Benaddi
Benaddia ,, CharafCharaf Ouaddi
Ouaddia ,, Abdeslam
Abdeslam Jakimi Jakimia
a GL-ISI Team, Department. of Informatics, Faculty of Sciences and Technics, UMI-Meknes Errachidia, Morocco
a GL-ISI Team, Department. of Informatics, Faculty of Sciences and Technics, UMI-Meknes Errachidia, Morocco
Abstract
For over a decade, mobile applications are frequently used to make people’s daily lives more accessible in all areas, such as
Abstract
Abstract
commerce, tourism, education, medical care, and others. For implementing these applications, several frameworks exist that can
For over a decade,
accomplish this task,mobile
such asapplications are frequently
Google’s Flutter, Microsoft’sused to make
Xamarin, people’s React
Facebook’s daily lives more accessible in Ionic,
all areas, such as
For over a decade, mobile applications are frequently used to make people’s daily Native, Apple’s
lives more Swift UI,
accessible Django..etc.
in all areas, such as
commerce,
However, tourism,the
choosing education,
best medicaltocare,
framework andan
develop others. For implementing
application is not a these
simple applications,
enough decision several
for frameworks
developers. This exist presents
paper that can
commerce, tourism, education, medical care, and others. For implementing these applications, several frameworks exist that can
accomplish
aaccomplish this task,
detailed analysis of such as Google’s
the four Flutter,
most widely usedMicrosoft’s
frameworks Xamarin, Facebook’smobile
for implementing React Native, Apple’s Swift UI, Ionic,
SwiftDjango..etc.
this task, such as Google’s Flutter, Microsoft’s Xamarin, Facebook’s React applications: React
Native, Apple’s SwiftNative,
UI, Ionic, UI, Flutter,
Django..etc.
However,
and choosing
Xamarin. the best framework
Furthermore, this study to develop
also aims an
to application
assist is not ainsimple
developers enough
choosing the decision
most for developers.
suitable framework This
by paper presents
proposing an
However, choosing the best framework to develop an application is not a simple enough decision for developers. This paper presents
aapplication
detailed analysis
that canofrecommend
the four mostthewidely
best used frameworks
framework according fortoimplementing
the needs mobile
entered by applications:
answering theReact Native,
questions, Swift
which UI,
are Flutter,
generally
a detailed analysis of the four most widely used frameworks for implementing mobile applications: React Native, Swift UI, Flutter,
and Xamarin.
related Furthermore,
to the relevant criteriathis study from
resulting also aims to assistofdevelopers
the analysis in choosing the most suitable framework by proposing an
these frameworks.
and Xamarin. Furthermore, this study also aims to assist developers in choosing the most suitable framework by proposing an
application that can recommend the best framework according to the needs entered by answering the questions, which are generally
application that can recommend the best framework according to the needs entered by answering the questions, which are generally
related
© 2024to theAuthors.
relevant criteria resulting from B.V.
the analysis of these frameworks.
related toThe
the relevant Published by Elsevier
criteria resulting from the analysis of these frameworks.
This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/)
© 2024 The Authors.
©
Peer-review Published by of ELSEVIER
Elsevier B.V.B.V.
© 2024 The under responsibility
Authors. Published by the scientific
Elsevier B.V. committee of the International Symposium on Green Technologies and Applica-
This is
This
tions.is an
an open
open access
access article
article under
under the
the CC
CC BY-NC-ND
BY-NC-ND licenselicense (http://creativecommons.org/licenses/by-nc-nd/4.0/)
(https://creativecommons.org/licenses/by-nc-nd/4.0)
This is an open
Peer-review access
under article under the
responsibility CC scientific
of the BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/)
committee
Peer-review under responsibility of the scientific committee of theofInternational
the International Symposium
Symposium on Green onTechnologies
Green Technologies and
and Applica-
Peer-review
Keywords:
Applications under application;
Mobile responsibility of the scientific
frameworks; analysis, committee
comparative;ofdeveloper
the International Symposium on Green Technologies and Applica-
tions.
tions.
Keywords: Mobile application; frameworks; analysis, comparative; developer
Keywords: Mobile application; frameworks; analysis, comparative; developer

1. Introduction

1. Green
Introduction
technologies have a significant impact on people’s daily lives, promoting a more sustainable and pleasant
1. Introduction
environment. These technological advances are aimed at reducing energy consumption and enhancing citizens’ quality
Green
of life technologies
while encouraginghave a significant
them to activelyimpact on people’s
participate daily lives,
in the adoption promoting
of green a more
solutions sustainable
for smart cities. and pleasant
Green technologies have a significant impact on people’s daily lives, promoting a more sustainable and pleasant
environment. These
In this context, technological advances are aimed at reducing energy consumption and enhancing citizens’ quality
environment. Thesemobile applications
technological are are
advances crucial in at
aimed improving
reducing the convenience
energy andand
consumption accessibility
enhancingofcitizens’
citizens’ lives
quality
of life while
in various encouraging
fields, them
includingthem to actively
industry, participate
commerce, in the
education, adoption of green solutions for smart cities.
of life while encouraging to actively participate in the tourism,
adoptionand others.
of green Mobile for
solutions applications are software de-
smart cities.
In this
signed context,
to run mobile
on mobile applications
devices are crucial inand
such as smartphones improving the convenience
tablets. There are two mainand accessibility
categories of citizens’
of mobile lives
applications:
In this context, mobile applications are crucial in improving the convenience and accessibility of citizens’ lives
in various
native fields,
applications,including industry,
which are commerce,
specific education,
to a particular tourism,
Operating Systemand others. Mobile applications are software de-
in various fields, including industry, commerce, education, tourism, and(OS), and
others. cross-platform
Mobile applications,
applications which
are software de-
signed to
are designedrun on mobile devices such as smartphones and tablets. There are two main categories of mobile applications:
signed to run to
onrun on multiple
mobile OS. The
devices such most popular
as smartphones mobile
and OSThere
tablets. are iOS and main
are two Android [1]. of mobile applications:
categories
native applications, which are specific to a particular Operating System (OS), and cross-platform applications, which
native applications, which are specific to a particular Operating System (OS), and cross-platform applications, which
are designed to run on multiple OS. The most popular mobile OS are iOS and Android [1].
are

designed to run on multiple OS. The most popular mobile OS are iOS and Android [1].
Corresponding author. Tel.: +212677644769
E-mail address: [email protected]
∗ Corresponding author. Tel.: +212677644769
∗ Corresponding author. Tel.: +212677644769
1877-0509 © 2024 The
E-mail address: Authors. Published by Elsevier B.V.
[email protected]
ThisE-mail address:
is an open [email protected]
access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/)
1877-0509 ©
Peer-review
1877-0509 © 2024responsibility
under
2024 The Authors.
The Authors.ofPublished by Elsevier
ELSEVIER
the scientific
Published by B.V.B.V.
committee of the International Symposium on Green Technologies and Applications.
1877-0509 ©
Thisisisananopen2024access
open The Authors.
article Published
under by
CCElsevier
theBY-NC-ND B.V. license (https://creativecommons.org/licenses/by-nc-nd/4.0)
BY-NC-ND
This access article under the CC license (http://creativecommons.org/licenses/by-nc-nd/4.0/)
This is an open under
Peer-review access article under the CC
responsibility BY-NC-ND
of the license (http://creativecommons.org/licenses/by-nc-nd/4.0/)
scientific
Peer-review under responsibility of the scientific committee committee of theSymposium
of the International International Symposium
on Green onand
Technologies Green Technologies and
Applications.
Peer-review
Applications under responsibility of the scientific committee of the International Symposium on Green Technologies and Applications.
10.1016/j.procs.2024.05.071
598 Adnane Souha et al. / Procedia Computer Science 236 (2024) 597–604
2 A.Souha et al. / Procedia Computer Science 00 (2024) 000–000

For implementing these applications, several frameworks exist that can accomplish this task, such as Apple’s Swift
UI 1 (which enables the development of mobile applications for the IOS system), Facebook’s Flutter 2 , Microsoft’s
Xamarin 3 , and Google’s React Native 4 . Unfortunately, given the number of Frameworks available, it’s challenging
to master and use them correctly. So, the developer must choose one and develop the application entirely using it. The
choice of tool to create these applications is not easy and depends on the project’s specific needs and each developer’s
preferences.
Unfortunately, given the number of Frameworks available, it’s challenging to understand and use them correctly.
So, the developer must thus choose an adapted framework to develop his/her application. The choice is not easy and
depends on the project’s specific needs and each developer’s preferences.
This paper presents a detailed analysis of the four most widely used frameworks for implementing mobile applica-
tions, which are React Native, Swift UI, Flutter, and Xamarin. Furthermore, this study also aims to assist developers in
choosing the most suitable framework by proposing an application that can recommend the best framework according
to the needs entered by answering the questions, which are generally related to the relevant criteria resulting from the
analysis of these frameworks. This paper is organized as follows: Section 2 presents an overview of mobile applica-
tions. Section 3 presents a detailed description of the four Frameworks to be analyzed. Section 4 provides an analysis
of the four frameworks and recommends the most suitable one for developers. Section 5 focused on the related works.
Section 6 concludes the paper and gives some future works.

2. Overview of mobile applications

A mobile application is software designed to run on a mobile device like a smartphone or tablet [2]. We can classify
mobile applications into two main categories, namely native applications and cross-platform applications [3]. Native
applications are applications specifically developed for an operating system [4]. When developing native applications,
developers implement an application for one specific target platform using its software development kit (SDK) and
frameworks, and the app is tied to that specific environment [5]. Suppose we want to create a native application
compatible with iOS and Android. In that case, we’ll need to develop two separate applications: one for iOS using
Swift or Objective-C and another for Android using Kotlin or Java. Developing mobile applications for different
platforms involves additional time, effort, and increased complexity, as it requires expertise in other programming
languages.
Cross-platform applications are applications designed to run on different operating systems or platforms without
requiring specific development for each platform. These applications are developed once and then deployed on differ-
ent platforms, such as Android and iOS [6]. They enable developers to reuse much of the source code and resources,
reducing development costs and time. Cross-platform applications are classified into four categories which are web
applications, hybrid applications, interpreted applications, and cross-compiled applications [7].
Web applications are server-based applications that run directly from a browser without requiring installation on
the device [8]. HTML, CSS, and JavaScript are the fundamental technologies to develop standard and mobile web
applications. The main advantage of this type of application is its platform independence since it can run on any
platform. Another advantage of this type of mobile application is the ease of maintenance since changes take effect
immediately, and users always use the most recent version.
Hybrid applications are applications that can be installed on a mobile device. Like web applications, they use
web development Frameworks like HTML, JavaScript, and CSS. Still, they operate locally using an internal web
container in the form of a small web browser integrated into the application, which can display web content. Using
an Application Programming Interface (API), hybrid applications can access certain device-specific functionalities,
such as the camera, geolocation, and many others [9]. The advantages of hybrid applications include code reuse for
multiple platforms, access to device hardware, and distribution via application stores such as Play Store and App
Store. However, they have two significant disadvantages, which are less optimal user experience due to the lack of

1 https://developer.apple.com/xcode/swiftui/
2 https://flutter.dev/
3 https://dotnet.microsoft.com/en-us/apps/xamarin
4 https://reactnative.dev/
Adnane Souha et al. / Procedia Computer Science 236 (2024) 597–604 599
A.Souha et al. / Procedia Computer Science 00 (2024) 000–000 3

native components in the interface and potentially lower performance due to the overhead associated with the web
container.
Interpreted applications are developed using a unique project; most of the code is translated to native code, while
the other part is interpreted at runtime. Their platform-independent implementation uses several technologies and
languages, such as Java, Ruby, XML, and others. Unlike hybrid and web applications, these applications use native
interfaces, which is one of their main advantages.
For cross-compiled applications, developers write code in a programming language compatible with several plat-
forms; then, a cross-compiler is used to generate executable files or packages for each specific platform. This approach
offers the advantage of code reuse and reduced development effort, as a single code base can serve multiple platforms.
Frameworks such as React Native, Flutter, and Xamarin enable developers to create cross-compiled applications.

3. Frameworks Overview

This section describes the most widely used frameworks for developing mobile applications, which are React
Native, Swift UI, Flutter, and Xamarin. We present each framework’s features, benefits, and drawbacks.

3.1. React Native

React Native is an open-source framework developed by Facebook; it facilitates the development of mobile appli-
cations for Android and iOS using mainly JavaScript and React [10]. To create React Native applications, a complete
development environment is required; it includes an Integrated Development Environment (IDE) and platform-specific
SDK. The preferred development tool is Visual Studio Code, which offers features adapted to JavaScript development.
React Native has several benefits, including code reuse between Android and iOS platforms, which reduces devel-
opment costs and increases application creation. Thanks to an extensive library of reusable components, development
is faster, and the framework offers performance close to that of native applications thanks to the use of native modules.
In addition, the ”Hot Reloading” feature enables developers to instantly see the results of their code modifications,
improving productivity. Finally, React Native’s active developer community ensures ongoing support and rich docu-
mentation [10].
Although React Native offers many advantages, it also has a few disadvantages. For particular functionality or
optimal performance, it may be necessary to write custom native modules, which can add complexity to development.
In addition, React Native applications can be more significant in download size than native applications, which can
affect the user experience. Finally, although React Native offers a wide variety of native features, there may be cases
where specific functionality not available in the standard library may require additional adjustments.

3.2. Swift UI

Swift UI is a User Interface development framework created by Apple for creating native applications on the iOS,
macOS, watchOS, and tvOS platforms. A Mac computer is required to use Swift UI, as Xcode, the IDE needed for
Swift UI development, is exclusive to macOS. In addition, an iOS device or iOS simulators included in Xcode are
required to test and debug Swift UI applications. Finally, a basic knowledge of the Swift programming language is
essential, as Swift UI is tightly integrated with Swift.
Swift UI offers many advantages, including code reuse on Apple platforms and reduced development effort. Thanks
to its declarative approach, it simplifies the creation of user interfaces, improving developer productivity. In addition,
Swift UI applications offer a native user experience using Apple’s native UI components, reinforcing the framework’s
relevance for iOS, macOS, watchOS, and tvOS application development.
As a relatively new technology, Swift UI may present bugs or limitations compared to more established frame-
works. In addition, some Swift UI features are only available on the latest Apple versions, which may limit compati-
bility with older versions of iOS and macOS. This is one of the disadvantages of Swift UI.
600 Adnane Souha et al. / Procedia Computer Science 236 (2024) 597–604
4 A.Souha et al. / Procedia Computer Science 00 (2024) 000–000

3.3. Flutter

Flutter is publicly released in 2016 by Google [11]. This framework allows the development of mobile applications
for different platforms like Android, iOS, Windows, or MacOS from a single code base. In Flutter, all applications are
written using Dart. Dart is a programming language developed and maintained by Google [11]. Two main prerequisites
are Visual Studio Code, an IDE for writing code, and the Flutter Development Kit, a set of Frameworks for creating
Flutter applications.
Flutter offers several advantages for mobile app development. First, it allows the development of apps for Android
and iOS from a single code base, reducing the time and effort required. In addition, Flutter has a ”Hot Reload” feature
that allows developers to instantly see changes made to the code, speeding up the development process. Performance
is high thanks to its rendering engine, which is responsible for the visual elements (such as buttons, images, text, etc.)
displayed on the screen when a Flutter application is run, delivering a fluid user experience. In addition, Flutter has a
large community of developers and resources, making development and debugging easy.
Concerning disadvantages, Flutter applications can have a larger download size than native applications due to the
inclusion of specific libraries, which can take up more space on users’ devices. In addition, although Flutter offers
excellent performance, it may be necessary to use bridges to integrate platform-specific functionality, which can add
complexity to development.

3.4. Xamarin

Xamarin is a mobile application development framework that uses the C# programming language. It enables much
of the code to be reused between Android and iOS applications, saving time and effort. Xamarin offers complete
access to the native functionalities of each platform, ensuring great flexibility in development [12]. It also offers Xa-
marin Forms for creating shared user interfaces and fluid integration with Visual Studio for a more fluid development
experience. Software requirements include installation of Visual Studio (on Windows) or Visual Studio for Mac (on
macOS), as well as SDK depending on the targeted platform.
Xamarin offers code reuse, native access, and flexibility thanks to C#, a popular and powerful programming lan-
guage. However, it can have drawbacks regarding application size and performance.

3.5. Comparative analysis and recommendation

This section presents an analysis of the most widely used frameworks, proposes a tool for recommending a frame-
work to developers of mobile applications, and describes the Framework recommendation of the application for frame-
work recommendation.

3.6. Frameworks Analysis

Various frameworks are available for developing mobile applications. Additionally, each one supports specific
technical characteristics and requires specific skills from programmers. This section analyses several frameworks
for developing mobile applications listed in Table 1. This analysis focuses mainly on the characteristics of these
frameworks and the skills required of programmers to be able to use these technologies.
The Frameworks listed in Table 1 are the tools of the leading companies in the software editing domain. They
are classified into two main categories that indicate the type of development supported by the framework, which
can be either Native or Cross-platform. Native development uses platform-specific languages (such as Swift for iOS
and Java/Kotlin for Android), while cross-platform development enables the same code to be shared between differ-
ent platforms. Furthermore, each Framework has its own programming language and IDE for developing a mobile
application (e.g., Visual Studio code for React Native and Flutter, Android Studio, and Xamarin Studio for Xamarin).

3.7. Framework recommendation

Due to the large number of frameworks for mobile application development, choosing the most suitable one to
implement a particular application becomes complex. To assist developers in this task, we provide a recommender in
Adnane Souha et al. / Procedia Computer Science 236 (2024) 597–604 601
A.Souha et al. / Procedia Computer Science 00 (2024) 000–000 5

Table 1. Comparative analysis of mobile application Frameworks.

Criteria / Framework React Native Swift UI Flutter Xamarin

Owner Facebook Apple Google Microsoft


Release date March 26, 2015 2019 May 2017 February 2013
Type Cross-Platform Native Cross-Platform Cross-Platform
Programming language JavaScript/ React Swift Dart C# / XAML
IDE Visual studio code Xcode Visual studio code Visual Studio/ Xamarin
Studio
Performance Medium to High High High Medium to High
User interface Native user interface com- View-based Declarative Based on Material Design Xamarin. Android /Xam-
ponents, ReactJS libraries UI and widgets to simulate arin. IOS and Xamarin.
the native OS design. Forms offer a UI close to
that of native applications.
Native look Medium High Medium to High Medium to High
Conviviality Medium High Medium Medium
Hot Reload Yes Yes Yes Yes
Open-Source Yes Yes Yes Yes
Documentation Medium to High High High Medium to High
Popular applications Facebook, Instagram, SlideShare – Twitter - Hamilton, Alibaba Group, Olo, The World Bank, Sto-
Airbnb American Airlines Google Ads. ryo
Popularity Medium to High High High Medium to High
Code reusability High Medium High High
Easy code reading Medium High Medium to High Medium to High
Free Yes Yes Yes Yes
Code maintainability Medium to High High High Medium to High
Easy to use Medium to High High Medium to High Medium
Easy package installation High High High High
Test emulator Yes Yes Yes Yes
Material requirements Computer (RAM: + 4, 00 Mac Computer A computer running Win- Windows 7 (64-bit). iOS
GB) dows 7 SP1 or later (64- projects on Windows re-
bit). quire Visual Studio 2019 +
Mac
Live preview availability Yes Yes Yes Yes
Easy to add animations Medium to High High High Medium to High
Ease of debugging Medium to High High High Medium to High

Figure 1 that receives responses to a questionnaire relating to the development aspects of a mobile application. Using
this information, it recommends an appropriate framework for developing a mobile application.
The recommender currently uses the criteria described in Table 2. The questions represent the requirements of an
application that are explicitly asked to the developers. The first questions (from 1 to 5) in Table 1 concern technical
aspects. Specifically, we ask the following questions: what type of development is required to implement the mobile
application (Native or Cross)? What programming language is supported by the Framework? The final questions (from
6 to 9) in Table 1 cover aspects relating to the popularity and the existing of documentation for each Framework.
The recommender calculates a score for each Framework based on the supported requirements. Available require-
ments add 1 to the Framework score, unavailable requirements add 0. Then, the recommender displays the best frame-
work based on the highest score, representing the most recommended framework for developers.

4. Related works

There are numerous studies and comparisons of frameworks in various areas of software development, including
conversational agents [13, 14, 15], recommendation systems [16], mobile applications [17, 18, 19, 20]. In our case,
we’ll focus on studies comparing frameworks for mobile application development.
The study [17] focuses on the architecture of each framework but also addresses their performance. To compare
these frameworks, they used criteria such as the availability of APIs, programming languages, supported mobile
602 Adnane Souha et al. / Procedia Computer Science 236 (2024) 597–604
6 A.Souha et al. / Procedia Computer Science 00 (2024) 000–000

Fig. 1. A tool for recommending a framework.

Table 2. Current requirements supported by the recommender.

Questions Available responses

1 Which type of development do you want for implementing the mobile application? Native or Cross-Platform
2 Which programming language do you want to use to develop the mobile application? C#, JS, Dart, or Swift Ui
3 Which IDE do you want to use? XCode, VSCode, or Xamarin studio
4 Which type of computer do you have? Mac or windows
5 What level of performance do you want for your mobile application? High, Medium, or Medium to high
6 What framework do you want in terms of popularity? High, Medium, or Medium to high
7 is there documentation available? High, Medium, or Medium to high
8 What level of code reusability do you want? High, Medium, or Medium to high
9 How user-friendly do you want your application to be? High, Medium, or low

OS, licenses, and integrated development environments. The frameworks analyzed in their study, namely Rhodes,
PhoneGap, DragonRad, and MoSync, are no longer in everyday use or as popular among developers.
In [18], the authors analyzed the hybrid approach to cross-platform mobile application development. The Frame-
works examined are Xamarin, React Native, Flutter, and Ionic. These frameworks were compared regarding various
aspects of software development, including programming language, user interface, code reuse, hot reload, testing, and
performance.
In [19], the two cross-platform mobile application development frameworks, React Native and Flutter, are com-
pared. The comparison criteria are the programming languages used, the development environment, hot reload support,
supported operating systems, support for third-party library software, and the size of simple ”Helle World” applica-
tions.
[21] compares different approaches for developing mobile applications, examining the advantages and disadvan-
tages of each. Using questions, it also suggests a decision-making framework for choosing the most appropriate
development approach based on various factors such as operating systems, software development kits (SDKs), de-
vices, screen resolutions, and the evolution of mobile application development technology. However, it’s important
to note that choosing an approach doesn’t necessarily make it easier to choose a framework for developing a mobile
application, as different frameworks are available for each approach.
A recent study [20] analyzed two popular approaches, native and cross-platform development, by comparing two
identical applications created using various Frameworks. In addition to comparing native and cross-platform methods,
they also compared two native solutions: Android and iOS. The Frameworks examined for cross-platform solutions
were Xamarin, React Native, and Flutter. The authors developed two applications using each technology to compare
Adnane Souha et al. / Procedia Computer Science 236 (2024) 597–604 603
A.Souha et al. / Procedia Computer Science 00 (2024) 000–000 7

the different solutions. The first is a simple application containing only the ”Hello World” label displayed in the middle
of the main page, designed to test initial build size, application launch time, and RAM usage. The second is a more
complex application containing a few pages and simple controls to measure rendering speed. The authors focused on
performance testing and ease of application development. To assess performance, several criteria were considered.
Firstly, the size of the application was measured to see how large it was once installed on a device. Next, startup time
was evaluated to understand how long the application takes to start. Tests also looked at RAM usage and CPU usage
by applications. Finally, the overall development experience was considered to assess how easy it is for developers to
work with each framework.
However, most research leaves the choice of framework to the developer without providing any decision-making
tools. In our study, we examine in detail the two approaches, native and cross-platform, as in [20], carrying out
an in-depth analysis of four frameworks using a higher number of criteria than other studies. This work offers a
practical resource for developers, facilitating the selection of a framework from the popular ones. It also includes a
recommendation tool representing a new approach to streamlining frame selection according to specific project needs.

5. Conclusion

Mobile applications play a crucial role in facilitating users’ access to green technologies and enabling them to
manage their energy consumption more efficiently. This work analyzes the four most frequently used frameworks for
mobile application development. Our work serves as a practical resource for developers, demystifying the selection
process among the popular frameworks. It also includes a recommendation tool to help developers choose the best
framework. This tool represents a novel approach, potentially streamlining framework selection according to specific
project needs. This study offers numerous perspectives. Firstly, consider introducing machine learning techniques and
deep learning to improve the accuracy of recommendations based on user responses. Secondly, increasing the range of
criteria considered in the recommendation process would be an essential step towards better responding to developers’
needs. This extension could include aspects such as the project’s complexity, the quality of the code generated, and
the project budget.

Acknowledgements

This work was supported by the Ministry of Higher Education, Scientific Research and Innovation, the Digital
Development Agency (DDA) and the CNRST of Morocco (Alkhawarizmi/2020/32).

References

[1] Latif, Nurul Syaza Abdul and Nawi, Mohamed Hafizi Mohamed and Nasir, Nurin Nazifa Md and Herdiana, Ratna. (2023) “Stability Analysis
of Competition Model of iOS and Android.” Journal of Advanced Research in Applied Sciences and Engineering Technology 30 (3): 372–382.
[2] Islam, Rashedul, Islam, Rofiqul, and Mazumder, Tohidul. (2010). ”Mobile application and its global impact.” International Journal of Engi-
neering & Technology, 10(6), 72–78.
[3] Shevtsiv, Nikita, and Striuk, Andrii. (2021). ”Cross platform development vs native development.” CEUR Workshop Proceedings.
[4] Pinto, Carlos Manso, and Coutinho, Carlos. (2018). ”From native to cross-platform hybrid development.” In 2018 International Conference on
Intelligent Systems (IS) (pp. 669-676). IEEE.
[5] Heitkötter, Henning, Hanschke, Sebastian, and Majchrzak, Tim A. (2013). ”Evaluating cross-platform development approaches for mobile
applications.” In Web Information Systems and Technologies: 8th International Conference, WEBIST 2012, Porto, Portugal, April 18-21, 2012,
Revised Selected Papers 8 (pp. 120-138). Springer.
[6] Amatya, Suyesh, and Kurti, Arianit. (2014). ”Cross-platform mobile development: challenges and opportunities.” ICT Innovations 2013: ICT
Innovations and Education, 219-229. Springer.
[7] Xanthopoulos, Spyros, and Xinogalos, Stelios. (2013). ”A comparative analysis of cross-platform development approaches for mobile appli-
cations.” In Proceedings of the 6th Balkan Conference in Informatics (pp. 213-220).
[8] Jazayeri, Mehdi. (2007). ”Some trends in web application development.” In Future of Software Engineering (FOSE’07) (pp. 199-213). IEEE.
[9] Enihe, Raphael, and Joshua, Jimmy. (2020). ”Hybrid mobile application development: A better alternative to native.” Global Scientific Journal,
8(5).
[10] Balogun, Nathan Ogechukwu Onaopemipo. (2023). ”React Native: A Native Code Integration Perspective.”
[11] Wu, Wenhao. (2018). ”React Native vs Flutter, Cross-platforms mobile application frameworks.” Metropolia Ammattikorkeakoulu.
604 Adnane Souha et al. / Procedia Computer Science 236 (2024) 597–604
8 A.Souha et al. / Procedia Computer Science 00 (2024) 000–000

[12] Prajapati, Mukesh, Phadake, Dhananjay, and Poddar, Archit. (2016). ”Study on Xamarin cross-platform framework.” International Journal of
Technology Research and Applications, 4(4), 13-8.
[13] Benaddi, Lamya, Ouaddi, Charaf, Khriss, Ismaı̈l, and Ouchao, Brahim. (2023). ”Analysis of Tools for the Development of Conversational
Agents.” Computer Sciences & Mathematics Forum, 6(1), 5.
[14] Singh, Shalini, and Singh, Satwinder. (2022). ”Effective Analysis of Chatbot Frameworks: RASA and Dialogflow.” EasyChair.
[15] Pavel, Imran. (2021). ”Comparing chatbot frameworks: a study of Rasa and Botkit.” (Master’s thesis).
[16] Said, Alan, and Bellogı́n, Alejandro. (2014). ”Comparative recommender system evaluation: benchmarking recommendation frameworks.” In
Proceedings of the 8th ACM Conference on Recommender Systems (pp. 129-136).
[17] Palmieri, Manuel, Singh, Inderjeet, and Cicchetti, Antonio. (2012). ”Comparison of cross-platform mobile development tools.” In 2012 16th
International Conference on Intelligence in Next Generation Networks (pp. 179-186). IEEE.
[18] Singh, Mohit, and Shobha, G. (2021). ”Comparative Analysis of Hybrid Mobile App Development Frameworks.” International Journal of Soft
Computing and Engineering (IJSCE), 10(6), 1.
[19] GÜLCÜOĞLU, Ekrem, USTUN, Ahmet Berk, and Seyhan, Neşet. (2021). ”Comparison of Flutter and React Native Platforms.” Journal of
Internet Applications and Management, 12(2), 129-143. Pamukkale University.
[20] Nawrocki, Piotr, Wrona, Krzysztof, Marczak, Mateusz, and Sniezynski, Bartlomiej. (2021). ”A comparison of native and cross-platform
frameworks for mobile applications.” Computer, 54(3), 18-27. IEEE.
[21] Khachouch, Mohamed Karim, Korchi, Ayoub, Lakhrissi, Younes, and Moumen, Anis. (2020). ”Framework Choice Criteria for Mobile Ap-
plication Development.” In 2020 International Conference on Electrical, Communication, and Computer Engineering (ICECCE) (pp. 1-5).
IEEE.

You might also like