• Home
  • Submit Paper
  • Check Paper Status
  • Download Certificate/Paper
  • FAQs
  • Contact Us
Email: ijraset@gmail.com
IJRASET Logo
Journal Statistics & Approval Details
Recent Published Paper
Our Author's Feedback
 •  ISRA Impact Factor 7.894       •  SJIF Impact Factor: 7.538       •  Hard Copy of Certificates to All Authors       •  DOI by Crossref for all Published Papers       •  Soft Copy of Certificates- Within 04 Hours       •  Authors helpline No: +91-8813907089(Whatsapp)       •  No Publication Fee for Paper Submission       •  Hard Copy of Certificates to all Authors       •  UGC Approved Journal: IJRASET- Click here to Check     
  • About Us
    • About Us
    • Aim & Scope
  • Editorial Board
  • Impact Factor
  • Call For Papers
    • Submit Paper Online
    • Current Issue
    • Special Issue
  • For Authors
    • Instructions for Authors
    • Submit Paper
    • Download Certificates
    • Check Paper Status
    • Paper Format
    • Copyright Form
    • Membership
    • Peer Review
  • Past Issue
    • Monthly Issue
    • Special Issue
  • Pay Fee
    • Indian Authors
    • International Authors
  • Topics
ISSN: 2321-9653
Estd : 2013
IJRASET - Logo
  • Home
  • About Us
    • About Us
    • Aim & Scope
  • Editorial Board
  • Impact Factor
  • Call For Papers
    • Submit Paper Online
    • Current Issue
    • Special Issue
  • For Authors
    • Instructions for Authors
    • Submit Paper
    • Download Certificates
    • Check Paper Status
    • Paper Format
    • Copyright Form
    • Membership
    • Peer Review
  • Past Issue
    • Monthly Issue
    • Special Issue
  • Pay Fee
    • Indian Authors
    • International Authors
  • Topics

Ijraset Journal For Research in Applied Science and Engineering Technology

  • Home / Ijraset
  • On This Page
  • Abstract
  • Introduction
  • Conclusion
  • References
  • Copyright

Review on Comparative Study of Flutter App and Android App

Authors: Nidhi Dhiman, Ankush Choudhary, Satish Chaudhary

DOI Link: https://doi.org/10.22214/ijraset.2023.56411

Certificate: View Certificate

Abstract

In today lives, mobile application can be increasing vital. In flutter is a cross platform framework and other native mobile application is one particular operating system. The time of 2015 year mobile application development increasing day by day. and also, the time of COVID-19 mobile application was very popular there was huge competition between the mobile application that available in a market. flutter can support both iOS and Android platform application. The main focused on the paper highlight the comparison between flutter mobile application and other native android mobile application. In this we can comparison on flutter SDK and android SDK on the basic of compilation, memory consumption, CPU usage, app size, etc. The paper provides an analysis of flutter architecture, Wight’s system and its unique programming language known as DART. This paper indicates the benefits of flutter over the other mobile development platform.

Introduction

I. INTRODUCTION

Flutter is an open based user interface UI framework that develops by Google for creating a natively compiled application for a single codebase. It is used by developer to create a flutter application on web, IOS, MacOS, Linux or windows on it. It is developed by Google developers in 2017. Flutter platform includes Android, ISO, web, Windows, Desktop, MacOS, Linux, etc. Flutter use Dart language as other native language JavaScript.

Mobile application is rapidly growing day by day. Now days, mobile applications that unlock their value are the most popular ways to peoples and organization, businesses that they are connect over the internet. To stay responsive, efficient and relevant, organization essential to develop the mobile application that their customers, partners and employees demands.

To overcome the cross-platform problem, Google had been developed platform that known as flutter in 2017 which is open-source mobile User Interactive Framework. It can well native application with the single code. The reason for creating flutter was to evaluate if Layout models were ignored.

II. RELATED WORK

In our research work the comparison between the cross-platform application between native application. The comparison between on the basis of CPU usage, visual studio complexity of both flutter and native apps. Flutter is a portable User interface software development kit (SDK) for creating android, web, Desktop application. Flutter can offer to create an app using these framework, widgets, and tools. It is open source and free to use and can be modified by developer to their needs. Combined these tools and widgets to create an efficient and quickly app.

Flutter as a framework that is very assurance has a big pub dev community. Some Complex apps that are based on flutter i.e., Alibaba, Google Ads, Xianyu , etc.

In this table we can conclude that the performance of Android app and flutter app-

Aspect

Android App

 Flutter App

CPU usage

11% -47%

20%-36%

Size

  Large

Small

Memory Usage

132MB-150MB

418MB-504MB

FPS Render

58 Frames per seconds

66 frames per second

III. WHY FLUTTER

Flutter SDK is open-source framework for building cross platform mobile application and there are several reasons that developer choose flutter

  1. It is Single codebase. In flutter you can write a single codebase that works on both Android and iOS platform, that can save time and also maintaining separate code base for each.
  2. It is Open source and free to use and Clear open and honest development process which means you can implement or access it source code.
  3. Hot Reload feature allow developers to Instantly See the result of code changes. And making the process faster and more efficient.
  4. Flutter offers a consistent user interface Across different platforms, that your app. Looks and feels the same on both Android and iOS devices, etc.

Aspect

Flutter SDK

Android SDK

Cross-Platform Development

It can support Android, iOS, web, and desktop

Primarily for Android

Language

Flutter uses the dart programming language.

Android Studio uses Java and Kotlin for Android app development.

User interface development

Flutter has its own UI Development framework that uses its own set of digits and design elements.

Android Studio. Uses the native Android UI toolkit.

 Performance

Compiled to native ARM code.

Compiled to bytecode, run on ART.

Development environment.

 Flutter CLI, plugin for IDE.

 Android Studio, other IDE.

CPU usage.

Efficient native ARM code generation.

Efficiency depends on the developer practice.

App Size

Large initial size due to Flutter engine. It is possible to reduce the app size using technique like code Splitting.

 Small initial size but vary with Assets.

 Memory consumption.

 Memory efficient with darts GC.

 Memory usage depends on the developer practices.

 

IV. DART

Dart stand for Dynamic Analytical Re-planning tool. It is a general-purpose language that develops by Google and high-level programming language. It is also an object-oriented programming. It is similar to C, Java and JavaScript. Flutter itself is not a programming language. To develop any app using flutter, you need developers to code in dart. It is open source and freely available and has an active developer community.

A. Features of Dart

  1. Open Source: It is open source and easy to learn on Internet.
  2. Platform Independent: It can support on any platforms like Window, iOS, Mac, Linux.
  3. Object Oriented Programming: It can support Oops features like Class objects, inheritance, data abstraction, polymorphism. Encapsulation.
  4. Browser Support: It can support on any platform like Firefox, Google Chrome, Edge, etc.

B. Advantage of Flutter

  1. Open Source: It is free to use and can be modified by developer to their needs.
  2. Fast Development:  In this Hot load feature that enables Developers to see changes in the app code immediately. It is increasing the speed of development.
  3. Cross-platform Compatibility: It is a code base that can be used to Developer for any other platform, for example Android and iOS apps.
  4. Easier to Learn: It is easy to learn. Even for developers with no experience in a mobile app development. Dart is the basic language of flutter.

C. Disadvantage of Flutter

  1. Large App Size:  Inclusion of Flutter engine and other component affect the app performance and UX.
  2. Limited Third-party Libraries: In this lack of some third-party libraries that are available. For other framework making development more challenging.
  3. Learning Curve: It is requiring developers to learn a new language dart and a new set of development tools which can be a challenge for a some well developers to create or building new application.

D. Flutter Architecture

  1. Flutter Engine: It is a   runtime i.e., portable for high-quality mobile application and based on the C, C++ language. The application of flutter is developed using Flutter core libraries that include volatility and graphics, file and network I/O, plugin architecture, accessibility support, and a dart runtime for developing, compiling, and running Flutter applications.  Google’s open-source graphics library is known as  Skia, to render low-level graphics.
  2. Foundation Library: These features defined in this library are the lowest level utility classes and used for creating basic building block of writing flutter application in it. It can contain all packages to create flutter application. It can also use Dart language to write these libraries.
  3. Widgets: It is core concept of the Flutter framework is the widgets. In Flutter, everything is a WIDGTS. Widgets Are basically user interface component used to create the user interface of the application. It can affect and controls the view and interface of the application.  In Flutter the application is itself a visit that contain many subs widget. In this the application is the top-level widget and its user interface (widgets), which again build using its children widgets. This feature helps us to create a user interface of any complexity.

4. Design Specific Widgets: Flutter has a widget to specify a particular platform like an Android or iOS. Some of the most used material budgets are as follows. Scaffold, SafeArea, appbar, text, icon, bottom navigation bar, stack, grid, Row and Column, Listile , listview , slider, alertdialog, raised Button, Icon Button, bottomnavigationbar , card, Getx , etc.

a. Gestures: Gesture is a widget that used for interaction in a Flutter using Gesture detector. Gesture Detector Is used to interactions of tapping, dragging and scaling of a child widgets is included in the gesture detector with is an individual widget.

b. State Management: The state of flutter widgets is maintained by a special widget known as Stateful widget. Stateful widget is a widget that can change on runtime with user interaction on it.

c. Layers: The core concept of Flutter architecture are layers that are divided into several categories in the terms of complexity and arranged in the top-down approach. This layer is particularly to Android platforms and iPhone operating system platforms.

5. Flutter Packages: A package is a container that consist of a collection of related type of classes., interface, and a sub packages within a Namespace. Flutter Packages is a set of reusable code modules. These packages improve your flutter app by adding specific functions. They are created and maintained by the Flutter community. These packages can be easily accessed and integrated into your project using the pub.dev Repository.

6. Pubspec.yaml: The Pubspec.yaml file is the configuration file used in flutter project. It can specify the essential information about the project Such as-

  • Name, description, various dependencies and other settings.
  • Project dependencies like Getx, https, Slider, etc.
  • Project assets (e.g., images, icons)

E. Types of some Flutter Packages

  1. Http: A package that includes a set of high-level function and classes to assess HTTP resources across the mobile, desktop, and Browser home.
  2. SQLite: A package that allow you to access the database on both Android and iOS.
  3. Package Info: A plugin that helps you retrieve the application version and other related information on both Android and iOS.
  4. URL Launcher: A plugin that launches URL on multiple platforms like Android, iOS. Window Mac Linux.
  5. Path Provider: A plugin that helps you to find commonly used location on iOS, Android, Mac and Linux file system.

Conclusion

Today in Flutter, Is the one of the most technology available in the market Which is Essentially the fastest framework of the cross-platform mobile application development. Flutter Offers developers a bright future and much more opportunities in it. The decision between flutter and native app development comes down to a particular project requirement, available resources, and desire user experience. Flutter offers Quicker development cycle and the single code base for both iOS and Android. On the other hand, native development may offer better performance and access to platform specific feature. Flutter is the best option for a business looking to create an application on both iOS and Android. It is the useful toolkit that creates a new application Easy and efficient. It is the best. It is also the. Best option for creating app with amazing user interface and high performance.

References

[1] Flutter development tools and packages -https://pub.dev/ [2] Smartphone users 2020 | Statista, https://www.statista.com/statistics/330695/ number-of-smartphone-users-worldwide/. [3] Conference: KSII The 13th International Conference on Internet (ICONI) 2021 At: Jeju, South Korea. Available At: https://www.researchgate.net/publication/361208165 [4] Flutter Tutorial: https://proxify.io/articales/flutter-2-null-safety [5] Dart dev. Dart programming language Available at: https://dart.dev/ [6] React Native vs Flutter, Cross-Platform Mobile Application Framework, Thesis March 2018- Wenhau Wu [7] Aakanksha Tashildar,2020.” APPLICATION DEVELOPMENT USING FLUTTER\". Available At: https://www.irjmets.com/uploadedfiles/paper/volume2/issue_8_august_2020/3180/1628083124 [8] Flutter for Cross-Platform App and SDK Development, Metropolia University Thesis May 2019- Lucas Dagne. [9] Number of monthly Android app releases worldwide 2021 | Statista https://www.statista.com/statistics/1020956 /android-app-releases-worldwide

Copyright

Copyright © 2023 Nidhi Dhiman, Ankush Choudhary, Satish Chaudhary. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

IJRASET56411

Download Paper

Paper Id : IJRASET56411

Publish Date : 2023-10-31

ISSN : 2321-9653

Publisher Name : IJRASET

DOI Link : Click Here