Flutter REPORT
Flutter REPORT
ON
Seminar Title
FLUTTER
SUBMITTED BY
UNDER GUIDANCE OF
Mr.V.V.Shirashyad
* 2021-2022 *
Shree Siddheshwar Women’s College Of
Engineering, Solapur.
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
CERTIFICATE
This is to certify that ,Ms. Uma Chandrakant Gajul a
student of Computer Science and Engineering, bearing Roll
No. 348, has successfully completed seminar on FLUTTER
To my satisfaction and submitted the same during the
academic year 2021-2022 towards the fulfilment of Bachelor
of Technology under DBATU, under the Department of
Computer Science and Engineering, SSWCOE Solapur.
Miss.Gajul U.C.
Department of CSE
3
INDEX
(A typical specimen of table of
contents) Table of Contents
Acknowledgements
i Abstract
1.Introduction.......................................................................................................6
1.1.History……………………………………………..…….....................….....7
2. Architecture………………………………………………...…………………8
2.1Architecture.............……………………………………………………………8
2.1.1Dart framework …………………………………………………………….8
2.1.2 Flutter engine…………………………………………………….………...9
2.1.3Platforms……………………………………………………………………9
3. Literature Reviews
…………………………………………………………..10
4. Proposed work……………………………………………………………….11
3.1Displaying hello world app in Flutter……………………………………….11
3.2 Advantages Of Flutter.................……………………………………............12
5. Applications Of Flutter.....................………………………………................13
6. Conclusions…................................................................................................14
7. References……………………………………..…………………………....15
4
i. ABSTRACT
In recent years, it is difficult to develop applications for both iOS and Android with in less
time. To overcome this, Google introduced a new framework called Flutter. It is a new
reactive framework and platform for building high-performance and beautiful mobile apps. It
is used extensively at Google to build business-critical apps, and by third-party developers to
build popular apps. It is also used as a SDK which provides the support to build beautiful
mobile apps in record time. Flutter is highly customizable, which allows it to build apps that
are brand-centric, or with the look and feel of native Android and iOS apps from a single
code base.
Flutter is Google's portable user interface (UI) framework for building modern, native, and
reactive applications for iOS and Android. This chapter helps developers to learn how the
Flutter framework works behind the scenes. Flutter uses widgets to create the UI, and Dart is
the language used to develop the applications. Flutter uses its own rendering engine to draw
widgets. Elements have a reference to the widget and are responsible for comparing the
widget differences. In programming, developers have different lifecycle events that usually
happen in a linear mode, one after another as each stage is completed. The chapter also helps
developers to learn the widget lifecycle events and their purpose. It shows how widgets are
configured and mounted creating the widget tree and element tree. The chapter also shows
how to install the Flutter SDK on macOS, Windows, and Linux.
5
1.INTRODUCTION
From the past few years mobile app development is a relatively recent field of endeavor.
Third-party developers have been able to build mobile apps for less than a decade. The
Apple iOS and Google Android SDKs were based on different languages such as Objective-C
and Java, respectively.Flutter takes a different approach in an attempt to make mobile
development better. It provides a framework application developer work against and an
engine with a portable runtime to host applications. The framework builds upon the Skia
graphics library, providing widgets that are actually rendered, as opposed to being just
wrappers on native controls.This approach gives the flexibility to build a cross-platform
application in a completely custom manner like the web wrapper option provides, but at the
same time offering smooth performance. Meanwhile, the rich widget library that comes
with Flutter, along with a wealth of open-source widgets, makes it a very feature-rich
platform to work with. Put simply, Flutter is the closest thing mobile developers have had
for cross-platform development with little to no compromise. Like React Native, Flutter
provides reactive-style views. Flutter takes a different approach to avoiding performance
problems caused by the need for a JavaScript bridge by using a compiled programming
language, namely Dart. Dart is compiled “ahead of time” (AOT) into native code for multiple
platforms. This allows
Flutter to communicate with the platform without going through a JavaScript bridge that
does a context switch. Compiling to native code also improves app startup times.Biometrics
are automated methods of recognizing a person based on a physiological or behavioral
characteristic. Among the features measured are face, fingerprints, hand geometry,
handwriting, iris, retinal, vein, and voice. Biometric technologies are becoming the
foundation of an extensive array of highly secure identification and personal verification
solutions. As the level of security breaches and transaction fraud increases, the need for
highly secure identification and personal verification technologies is becoming apparent.
Biometric-based solutions are able to provide for confidential financial transactions and
personal data privacy. The need for biometrics can be found in federal, state and local
governments, in the military, and in commercial applications. Enterprise-wide network
security infrastructures, government IDs, secure electronic banking, investing and other
financial transactions, retail sales, law enforcement, and health and social services are
already benefiting from these technologies.
6
1.1 HISTORY
The first version of Flutter was known by the codename "Sky" and ran on
the Android operating system. It was unveiled at the 2015 Dart developer summit with
the stated intent of being able to render consistently at 120 frames per second.During the
keynote of Google Developer Days in Shanghai in September 2018, Google announced
Flutter Release Preview 2, which was the last big release before Flutter 1.0. OnDecember
4th of that year, Flutter 1.0 was released at the Flutter Live event, denoting the first
"stable" version of the Framework. On December 11, 2019, Flutter 1.12 was released at
the Flutter Interactive event.
On May 6, 2020, the Dart software development kit (SDK) in version 2.8 and the Flutter
in version 1.17.0 were released, where support was added to the Metal API, improving
performance on iOS devices (approximately 50%), new Material widgets, and new
network tracking.
On March 3, 2021, Google released Flutter 2 during an online Flutter Engage event. This
major update brought official support for web-based applications with new CanvasKit
renderer and web specific widgets, early-access desktop application support
for Windows, macOS, and Linux and improved Add-to-App APIs. This release included
sound null-safety, which caused many breaking changes and issues with many external
packages, but the Flutter team included instructions to mitigate these changes as well.
On September 8th, 2021, the Dart SDK in version 2.14 and Flutter version 2.5 were
released by Google. The update brought improvements to the Android Full-Screen mode
and the latest version of Google's Material Design called Material You. Dart received
two new updates, the newest lint conditions have been standardized and preset as the
default conditions as well Dart for Apple Silicon is now stable.
7
2.ARCHITECTURE:
2.1 Architecture
The Flutter framework is organized into a series of layers, with each layer building upon
the previous layer.
Flutter apps are written in the Dart language and make use of many of the language's more
advanced features. On Android, and on Windows, macOS and Linux via the semi-official
Flutter Desktop Embedding project, Flutter runs in the Dart virtual machine which features a
just-in-time execution engine. Due to App Store restrictions on dynamic code execution,
Flutter apps use aheadof-time (AOT) compilation on iOS.
A notable feature of the Dart platform is its support for "hot reload" where modifications to
source files can be injected into a running application. Flutter extends this with support for
stateful hot reload, where in most cases changes to source code can be reflected immediately
in the running app without requiring a restart or any loss of state.
Flutter's engine, written primarily in C++, provides low-level rendering support using
Google's
8
Skia graphics library. Additionally, it interfaces with platform-specific SDKs such as those
provided by Android and iOS.
The Flutter Engine is a portable runtime for hosting Flutter applications. It implements
Flutter's
core libraries, including animation and graphics, file and network I/O, accessibility support,
plugin architecture, and a Dart runtime and compile toolchain. Most developers will interact
with Flutter via the Flutter Framework, which provides a modern, reactive framework, and a
rich set of platform, layout and foundation widgets.
2.1.3 Platforms
At the platform level, Flutter provides a Shell, that hosts the Dart VM. The Shell, is platform
specific, giving access to the native platform APIs and hosting the establishing the platform
relevant canvas. There is also an embedder API, if you want to use Flutter like a library,
instead of hosting running an app. The Shells, also help provide communication to the
relevant IMEs and the systems application lifecycle events.
9
3. Literature Review
The review of literature gives the clean picture of the problem to be solved as being a
prerequisite to actual planning and conducting the study. The review of past investigation
serves as a guide to the researchers as it avoids duplications in the field. The knowledge of
what has already been done in the area of investigation regarding the methods used for data.
Collections and results of their analysis keep a researcher systematic in his own endeavor.
Thus, the review of related literature is an indispensable step in research.
This Researcher has collected comprehensive information from various books, manuals,
magazines, journals, articles and research websites. Information gathered through various
seminars and conferences attended also helped lot for the researcher.
10
4.PROPOSED WORK
4.1 Displaying hello world app in flutter
The hello world program in flutter is represented as below.import
'package:flutter/material.dart';
void main() {
runApp(
new Center(
child: new Text(
'Hello, world!'
),
),
);
}
The output of the above program is shown below.
11
Figure 2.Displaying Hello World app in Flutter
4.2.Advantages of Flutter
Faster code writing. For developers, Flutter means faster & more dynamic mobile app
development.
Less testing.
Faster apps.
12
5.APPLICATIONS OF FLUTTER
Google Ads
KlasterMe
Reflectly
Xianyu by Alibaba
Hamilton
Lunching
Pairing
Watermaniac
Cryptograph
13
6.CONCLUSION
Even in beta, Flutter offers a great solution for building cross-platform applications. With its
excellent tooling and hot reloading, it brings a very pleasant development experience. The
wealth of open-source packages and excellent documentation make it easy to get started with.
Looking forward,Flutter developers will be able to target Fuchsia in addition to iOS and
Android. Considering the extensibility of the engine’s architecture, Flutter land on a variety
of other platforms as well. With a growing community, it’s a great time to jump in.
14
7.REFERENCES:
https://www.globalsecurity.org
https://github.com/flutter/flutter/releases
https://developers.googleblog.com/2018/09/flutter-release-preview-2-pixel-perfect.html
https://github.com/flutter/flutter/wiki/Changelog
https://www.innovatrics.com/glossary/biometric-reference
15