Ijraset Journal For Research in Applied Science and Engineering Technology
Authors: Sakshi R Uplenchwar, Urmila S Denge, Anurag S Bajoriya, Prof. Sudesh A Bachwani
DOI Link: https://doi.org/10.22214/ijraset.2022.39977
Certificate: View Certificate
Now a days The Rapid growth of wireless technology and Mobile devices in this era is creating a great impact on our lives. Due to which many things going digitalized with time. Hence to reduce the manual work we are doing work through application. For Making application now the developer use cross platform framework. Flutter is a popular UI framework for developing mobile applications by Google. This library consists of various reusable UI(User Interface) elements, such as sliders, buttons, and text inputs. Developers building mobile applications with the Flutter framework will do so using a programming language called Dart.
I. INTRODUCTION
Flutter is an open-source iOS and Android mobile application development framework. Flutter’s first release was on May 2017 [6]. Instead of attempting to replace native iOS and Android applications, Flutter introduces a new way of developing applications, allowing developers to write their applications entirely using Flutter or embedding them into existing native applications [6]. This allows developers to write native iOS and Android code if needed, removing framework specific limitations when it comes to native functionality. Flutter is powered by Dart, an object-oriented, class-defined, garbage collected language that can be compiled ahead-of-time (AOT) to native 32-bit and 64-bit ARM code for iOS and Android [4].
Flutter offers many ready to use widgets (User Interface) to create a modern application. These widgets(tools) are optimized for mobile environment and designing the application using widgets is as simple as designing HTML.
To be specific, Flutter application is itself a widget. Flutter tools also supports animations and gestures. The application logic is based on reactive programming. Widget may optionally have a state. By changing the state of the widget, Flutter will automatically (reactive programming) compare the widget’s state (old and new) and provide the widget with only the necessary changes instead of re-provide the whole widget.
This paper aims to explain detail information about Flutter framework.
II. CROSS PLATFORM DEVELOPMENT
Cross-platform apps are riding the reputation of mobile application development. It is a skill to run on several mobile platforms allows startups to save costs and decrease development time. Cross platform development is about to build a single application that can run on many operating systems, instead of developing different app versions for each and every platform [3]. The driving force for cross-platform development is to create software that work well in more than one definite digital environment, with the key purpose of selling it to a wider customer [6].
Cross platform applications have a native look and feel due to the combination of native code with independent code that suitable for multiple platforms [4]. Developers write the code one time and then reprocess it, thus making it possible to release a product fast. To code cross-platform development software, developers use intermediate programming languages — HTML, JavaScript not native to devices and OSs. Mobile Apps are packaged into built-in containers and combined into platforms [2].
Cross-platform development aims at creating a single application that runs identically on numerous platforms. It uses platform uncertain technologies such as HTML Javascript and CSS and helps businesses cover several end devices at low costs [6].
B. Advantages
III. FLUTTER FRAMEWORK FOR CROSS PLATFORM DEVELOPMENT
Flutter is an open source framework by Google for building beautiful, natively compiled, multi-platform applications from a single Code. Flutter has been around ever since 2015 when Google announced it and remained in the beta stage before its official launch in December 2018.[5] Although being the youngest, Flutter cross-platform app frameworks is making its own distinctive image in the present day market.
A distinctive feature that makes Flutter different is that it uses Dart programming language instead of JavaScript, Because of a hot-reload feature, the developers can see changes in code in real-time in Flutter[3]. Along with Android and IOS, the developers can create ground-breaking applications for the Furchisa Operating System with Flutter.
It is considered to allow code reuse across operating systems such as iOS and Android, while also allowing applications to interface directly with underlying platform facilities. The aim is to enable developers to deliver high-performance apps that feel natural on different platforms, embracing differences where they exist sharing code as far as possible.
A. What is Flutter used for?
Flutter is one of the best solutions to develop apps for Android and iOS, without having to write in a different codebase for each platform. The smartphone versions of these apps function as true, native apps on Apple and Android devices and are compiled for the respective platform before publication. They do not need a runtime module or a browser. Using the same codebase, it is also possible to create web apps for browsers as well as native programs for Windows, Linux and macOS.
Google itself uses Flutter for several modules of the Google Assistant and for the user interface of the Google Home hub. Well known e-commerce service providers such as eBay, Groupon or Alibaba Group use Flutter to give their mobile and web apps a uniform look.
a. In a nutshell, a framework is a UI Library based on widgets, which contains various reusable UI elements, such as sliders, buttons, text inputs, and others. These elements can be later personalized based on your needs.
b. An SDK is a set of tools to develop applications and compile your code into the built-in machine code for Android and IOS.
2. Developing Tools
a. Emacs
b. Android Studio
c. VS Code
B. What Programming Language is Flutter based on?
C. Advantages of Flutter App Development
IV. DART PROGRAMMING LANGUAGE
Dart is a client-optimized language for fast apps on any platform. Dart is free and open source dart is a programming language designed for client development, [4] such as for the web and mobile apps. It is developed by Google and can also be used to build server and desktop applications Unlike other programming languages, Dart has its own package manager called Pub. Dart started getting more attention in 2017 when Google officially announced Flutter beta for cross-platform mobile app development. Since then, the popularity of Dart has drastically increased, However, developers that have experience with OOPS languages can learn Dart easily. Dart is an object-oriented, class, garbage-collected language with C-style syntax.[6] Dart can compile to either native code or JavaScript. It supports interfaces, abstract classes, reified generics, and type inference.
A. Characteristics of Dart
B. Advantages of Dart
C. Developing Tools
V. WHAT IS FIREBASE?
Firebase is a software development platform launched in 2011 by Firebase and acquired by Google in 2014. Started as a realtime database, now it has 18 services (4 of them currently in beta), and dedicated APIs. Google Firebase is a Google-backed application development software that enables developers to develop iOS, Android and Web apps. Firebase provides tools for tracking analytics, reporting and fixing app crashes, creating marketing and product experiment.
A. Services Provided by Firebase
B. Authentication and Hosting
C. Firebase Testing Services
Test Lab is a service that provides virtual and physical device access to test your app in real environment. It can be integrated into existing testing environment like Android Studio, or browser testing tools. Test Lab will provide you with crash reports, screenshots as test results. As a test result. If you do not have tests, some bots can crawl your application, find bugs and supply reports. The downside is that test lab isn’t integrated with iOS test tools. But hey, Google.crashlytics may be a real-time crash reporting tool for quickly and simply troubleshooting app stability.
Crash reports are converted into a structured, prioritized list of issues that correspond to the basics of the difficulty in making it easy to arrange the fix process. Performance monitoring automates real-time performance tracking for your app. This tool provides performance insights supported root cause, tracking app performance also as server connection quality and reaction time across different network types. Distribution of apps. This tool is currently a trial distribution service in beta. symbolic.
App Distribution helps you create one hub for 2 versions of your application (iOS and Android) and use the CLI to manage your pre-release builds.
D. Firebase Analytics
When your app is live, there’s also variety of ordinary and specific Google services which will assist you manage how users interact together with your app during a business aspect. Google Analytics comes first as it’s a well known tool integrated into Firebase platform. Google Analytics provides valuable metrics about your user retention, user engagement rates, or the other sort of user behavior data. In terms of Firebase, the reporting capabilities are unlimited and free. You will choose which events to trace, and integrate it with analytical partners that names 52 companies on the mixing page
E. Configurations and Improvements
Cloud Messaging may be a messaging service that permits you to send notifications between the server and user-devices. You will customize the kinds of messages you send to specific groups of individuals based subscriptions, behaviour patterns, profile settings, etc. Cloud messaging is integrated into Firebase Google Analytics, so you will instantly track mailing results, also as configure messaging without coding.
Dynamic links. It’s pretty hard to predict where a user will search for a particular content, once you have your product on multiple platforms. Let’s say a user is browsing your web app, and searches for a particular item. After a couple of clicks, he leaves a touch of a private data, but next time decides to use your mobile application. Here you would have possibly experience bounce rate, because a newly installed app would require ranging from scratch. Dynamic links can assist you transition users between the platforms, saving personal data and showing users exactly what they were browsing before.
Remote Config.
This tool suggests a handy choice to update your application, without republishing it. E.g. this will be a change of colour scheme, or content updates across the app.
Firebase Predictions. Prediction service may be a machine learning extension, which will basically use your analytical data to define user groups and supply you with insights on possible user groups. This may assist you to predict possible churn or conversion rate, calculate revenue, or increase user retention.
Firebase A/B testing may be a tool for conducting marketing experiments within the sort of A/B tests. As all the services are connected with Google Analytics, you'll instantly measure the results of tests, and define if they even interest your users. For the present moment, this service is merely in beta.
In-app messaging. This tool will assist you to conduct targeted and personalized messaging to the users that use your app often. Basically it’s a targeting instrument, that helps you incline users to finish required actions within the app. In-app messaging is additionally in beta-phase, but it can already be utilized in pair with Google Analytics and Firebase Predictions to conduct smart targeting.
As you'll see, Firebase may be a really huge platform that means services for any purpose. For an extended time, it had been considered pretty limited and unable to exchange the entire backend. But with the last releases, Firebase made it possible to create serverless applications, and opened the ASCII text file of its SDKs. But still it's its downsides
F. Advantages Of Firebase
In this paper we study in detail about the flutter cross platform framework for mobile application development as well as dart programming language and firebase technology. Flutter is Google\'s free and open-source UI framework for creating native mobile applications Flutter allows developers to build mobile applications for both iOS and Android with a single codebase and programming language. dart is a programming language designed for client development such as for the web and mobile apps. Unlike other programming languages, Dart has its own package manager called Pub. Firebase provides tools for tracking analytics, reporting and fixing app crashes, creating marketing and product experiment.
[1] \"Cross Platform Development Using Flutter,\" International Journal Of Engineering Science & Computing ,, vol. 9, no. 4, p. 6, April,2020. [2] A. D. Wiriasto GW, \" Design and Development Of Attendance System Application using Android-Based Flutter,\" In 2020 Third International Conference On Vocational Education And Electrical Engineering (ICVEE), p. 7, 3 Oct, 2020. [3] \"A Clean Approach to Flutter Development Through The Flutter Clean or Architecture Package,\" International Conference On Computational Science And Computational IEEE Intelligence(CSCI)., p. 8, 2019. [4] J. Y. J. X. Ebone A, \"A Performance Evaluation Of Cross- Platform Mobile Application Development Approaches,\" . In 2018 IEEE/ACM 5th International Conference On Mobile Application Software Engineering And System(MOBILES SOFT), pp. (pp 92-93 IEEE), May 28,2018. [5] \"Conference Room Booking Application Using Flutter,\" International Conference On Communication and Signal processing ,July 28-30, 2020, India.
Copyright © 2022 Sakshi R Uplenchwar, Urmila S Denge, Anurag S Bajoriya, Prof. Sudesh A Bachwani. 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.
Paper Id : IJRASET39977
Publish Date : 2022-01-17
ISSN : 2321-9653
Publisher Name : IJRASET
DOI Link : Click Here