IJCRT2102147
IJCRT2102147
Abstract: This study has been undertaken to indicate the benefits of using flutter over other app development platforms. It
consists of working of different platforms and their role in application development. In today’s world ease of development is the
thing all developers are looking for and flutter has come up with the required platform to support development of applications for
both Android and iOS. Developers are enforced to either construct the same application numerous times for various OS (operating
systems) or accept a low-quality similar solution that trades native speed and accuracy for portability. Flutter is an open-source
SDK for developing high-performance and more reliable mobile applications for operating systems like iOS and Android .
1. INTRODUCTION
To dispense it to most of the users, a mobile application needs to familiarize itself with two independent platforms which
are Android and iOS. These two platforms share immense dissimilarities which often necessitate different skill sets for
developing. For example Java or Kotlin for Android and Object-C or Swift for iOS. Hence, developers and companies
usually struggle to deal with the complex nature involved in developing cross-platform applications.
Cross-platform frameworks that show resemblance to Flutter are discussed and implemented by various companies
numerous times formerly. Still, neither of them suffices to satisfy the requirement of industrial development. In spite of
the ineffective precursors, Flutter which is backed up by Google, draw attention and developers find it easier to use as
well. Flutter application can also run equally on both platforms, consequently decreasing the cost and complexity of
application creation across iOS and Android. Flutter is fully built from scratch and around August 2017 only Google used
it for commercial projects.
2. EASE OF USE
Flutter is a cross-platform framework that targets developing high-performance mobile applications. Besides running on
Android and iOS flutter applications also run on Fuschia. Flutter is exceptional because it is dependent on the device’s
OEM widgets rather than consuming web views. Flutter uses a high-performance rendering engine to render each view
component using its own. This provides a chance to build applications that are as high-performance as native applications
can be.
3. FLUTTER ARCHITECTURE
In view of architecture, the engine’s C or C++ code involves compilation with Android’s NDK and LLVM for iOS
respectively, and during the compilation process, the Dart code is compiled into native code. Hot reload feature in Flutter
is called as Stateful hot reload and it is a major factor for boosting the development cycle. Flutter supports it during
development. Stateful hot reload is implemented by sending the updated source code into the running Dart Virtual
Machine (Dart VM) without changing the inner structure of the application, therefore the transitions and actions of the
application will be well-preserved after hot reloading.
3.1 Dart
In Flutter, every application is written with the help of Dart. Google has developed and maintained a programming
language called Dart. It is extensively used inside Google and it has been verified to have the proficiency to develop
enormous web applications, such as AdWords. Flutter application renews the view tree on every new frame even when
few other systems use reactive views. This behavior leads to a drawback that many objects, which might survive for a
singular frame, will be created. As Dart is a modern programming language, it is optimized to handle this scenario in
memory level with the help of “Generational Garbage Collection”.
Looking at the Google trends chart for Flutter in comparison to React Native, there is a difference starting in trends for
searching which means that more people are taking interest in Flutter development. Flutter is however, not used much
when looking at the Stackoverflow survey of 2019 where Flutter is only used by 3.4% of all users and not even on the
list for the professional developers use. 1.9% of the users liked Dart while for the professional developers use, Dart was
not on the list. Both Flutter and Dart is however very highly ranked in the “Most loved” categories as 3rd and 12th.
In the Stackoverflow survey of 2020, Flutters use statistics has increased from 3.4% to 7.2% in the overall statistics, but
stays off the list as before in the professional only statistics. Flutter stays in the 3rd position as the most loved
framework/library/tool for 2020.
Dart is still off the list of the professional use of Dart, but has increased from 1.9% to 4.0% since 2019. For the 2020
Stackoverflow survey, it has become the 7th most loved programming language.
The highest CPU performance is more in Flutter iOS as compared to native iOS, while the Native Android has a better
highest CPU performance than Flutter Android. But overall Flutter has a better mean CPU performance in both the OS
so it beats the natives in both iOS and Android.
Figure 7: Diagram showing answers for looks of application Native (A) and Flutter (B)
This diagram is a survey conducted which clearly shows that most people believe that both the applications look the
same.
6. CONCLUSION
Flutter is a useful toolkit that enables easy ways of creating new applications. It has gotten more and more popular
recently. The basic results in this report indicates flutter has a slight edge as compared to native application
development platforms but further more conclusive tests still needs to be carried out to come to a final conclusion.
Appearance wise, Flutter and native seem to differentiate little to a majority of users. It is able to mimic the
native looks to a certain point.
To conclude the answers and ideas of Flutter, it is a tool with a promising feature if the community
continues to grow in the direction that it is right now. The line to drawn when to choose Flutter over two
separate native builds, can be chosen at the development of smaller to medium applications which are more
flexible. Considering that Flutter’s strong side is being a cross-platform solution, Flutter still performs well on
a single application base if compared to native applications. Flutter may not beat native for developing
applications at this point but the results show good potential for the future although further studies needs to
be done in these areas to conclude safer answers.