SNJB’s
Late Sau.Kantabai Bhavarlalji Jain College of
Engineering
FLUTTER
TECHNOLOGY
1
BY:
Divya Prafull Wani
(TE Computer Engineering)
Outline
Introduction
Need
Popularity
Comparison
Architecture
Working
Example
Application
Advantages
Limitations
Conclusion
Reference's
FLUTTER
TECHNOLOGY
2
Introduction
It is single codebase for Android and ioS.
Free and Open Source.
It is invented by Google.
Built with C,C++, and dart based .
Mobile app SDK.
Easy access to developer.
FLUTTER
3
Why to Use?
High quality native app
Fast Development
Expressive and Beautiful UI
Native Performance
Migration
FLUTTER
TECHNOLOGY
4
Popularity
Reactive performance
Code usability
rendering engine to draw widgets.
Modern and reactive framework.
Build Full featured apps
FLUTTER
TECHNOLOGY
5
Difference: React Native and Flutter
FLUTTER
TECHNOLOGY
6
Parameter React Native Flutter
Developed By Facebook Google
Language Java script Dart
Performance Fast Faster
Who uses Facebook, Instagram,
Walmart, Uber
Google Ads, Tencent,
Alibaba,Reflectly,
Google GreenTea
UI building blocks OS native components Proprietary Widgets
Tooling Greater range of IDEs
and tools supporting
React Native
Higher compatibility with
visual code android code
studio
Reusability Allows but it is restricted
to basic components.
Best option for reusability
Configuration and setup Lacks streamlined setup
and configuration
More straightforward
Documentation Extensive, unorganized Good, organized
Flutter uses Dart
FLUTTER
TECHNOLOGY
Strongly typed language
Object oriented language
Fast life cycle:
1. Supports JIT compilation(app development)
2. AOT compilation.(Execution)
7
Flutter Architecture8
FLUTTER
TECHNOLOGY
Basic Working9
FLUTTER
TECHNOLOGY
Platform10
FLUTTER
TECHNOLOGY
Engine Layer11
FLUTTER
TECHNOLOGY
Widgets12
FLUTTER
TECHNOLOGY
Stateless Widget
FLUTTER
TECHNOLOGY
Stateless widgets do not require mutable state, i.e., it is immutable.
In simple words, Stateless widgets cannot change their state during the runtime of
the app, which means the widgets cannot be redrawn while the app is in action.
You can quickly build a Stateful Widget in VS Code or Android Studio by using
the shortcut “stf”.
13
State full Widget
FLUTTER
TECHNOLOGY
State full widgets have a mutable state, i.e., they are mutable and can be drawn
multiple times within its lifetime.
They are the widgets which can change their state multiple times and can be
redrawn on to the screen any number of times while the app is in action.
Stateful widgets are useful when the part of the user interface you are
describing can change dynamically.
When Flutter builds a Statefull widget it creates a State object. This object is
where all the mutable state for that widget is held.
14
Lifecycle of statefull widget
FLUTTER
TECHNOLOGY
createState() -- When Flutter is instructed to build a StatefulWidget, it
immediately calls createState().
mounted == true -- All widgets have a bool this.mounted property. It turns true when
the buildContext is assigned.
initState() -- This is the first method called when the widget is created (after the
class constructor, of course.)
didChangeDependencies() -- Called when a dependency of this State object
changes.
build() -- Describes the part of the user interface represented by the widget.
didUpdateWidget() -- Called whenever the widget configuration changes.
setState() -- Whenever you change the internal state of a State object, make the
change in a function that you pass to setState.
15
deactivate() -- Deactivate is called when State is removed from the tree.
16
FLUTTER
TECHNOLOGY
Types of Layout Widgets
FLUTTER
TECHNOLOGY
Single Child: only 1 widget as its child.
Important layout widgets provided by Flutter:
1. Padding
2. Align
3. Transform
4. Intrinsic Height
5. Intrinsic Width
Multiple Child: will have more than 1 child widgets.
Used widgets are:Row,Column,ListView,GridView,Table,Flow,Stack
17
Gestures
FLUTTER
TECHNOLOGY
Used Gestures are:
1. Tap
2. Drag
3. Flick
4. Pinch
5. Spread/Zoom
6. Double Tap
7. Panning
18
Animation
FLUTTER
TECHNOLOGY
Enhances user experience to a new level .
Provides rich interaction.
Has two values : Start Value and End Value
Animation Based Classes
a. Animation<double>
b. Animation<Color>
c. Animation<Size>
d. Animation Controller
19
Creation of Application in Android
Step 1: Open Android Studio
Step 2: Create Flutter Project. For this, click File -> New -> New Flutter Project
20
FLUTTER
TECHNOLOGY
Step 3: Select Flutter Application. For this, select Flutter Application and click
Next.
21
FLUTTER
TECHNOLOGY
Step 4: Configure the application as below and click Next.
FLUTTER
TECHNOLOGY
Project name: hello_app
Flutter SDK Path: <path_to_flutter_sdk
Project Location: <path_to_project_folder>
Description: Flutter based hello world application
22
23
FLUTTER
TECHNOLOGY
Step 5: Configure Project
Step 6: Finish
Android Studio creates a fully working flutter application with minimal
functionality.
FLUTTER
TECHNOLOGY
24
The structure of the application.
25
FLUTTER
TECHNOLOGY
Step 7: Replace the dart code in the lib/main.dart file with the below code:
26
FLUTTER
TECHNOLOGY
Step 8: Now, run the application using, Run -> Run main.dart27
FLUTTER
TECHNOLOGY
Step 9: Finally, the output of the application is as follows:
28
FLUTTER
TECHNOLOGY
Detailed Structure29
FLUTTER
TECHNOLOGY
Applications:
FLUTTER
TECHNOLOGY
Google Ads : Utility Application (shows stats)
Alibaba : Ecommerce Application
Reflectly : Lifestyle Application(create personal stories journal)
SG Bus Tracker :Maps and Navigation Application
Hookle : Social Application
Birch Finance : Finance Application
Water maniac : Health & Fitness Application
30
Advantages:
FLUTTER
TECHNOLOGY
Dart has a large repository of software packages which lets you to extend the
capabilities of your application.
Developers need to write just a single code base for both applications (both
Android and iOS platforms). Flutter may to be extended to other platform as
well in the future.
Flutter needs lesser testing. Because of its single code base, it is sufficient if
we write automated tests once for both the platforms.
Flutter’s simplicity makes it a good candidate for fast development. Its
customization capability and extendibility makes it even more powerful.
With Flutter, developers has full control over the widgets and its layout.
Flutter offers great developer tools, with amazing hot reload.
31
Limitations:
FLUTTER
TECHNOLOGY
Since it is coded in Dart language, a developer needs to learn new
language (though it is easy to learn).
Modern framework tries to separate logic and UI as much as possible but, in
Flutter, user interface and logic is intermixed. We can overcome this using smart
coding and using high level module to separate user interface and logic.
Flutter is yet another framework to create mobile application. Developers are
having a hard time in choosing the right development tools in hugely populated
segment.
32
Conclusion
FLUTTER
TECHNOLOGY
Flutter framework does a great job by providing an excellent framework to build
mobile applications in a truly platform independent way . By providing simplicity in
the development process, high performance in the resulting mobile application, rich
and relevant user interface for both Android and iOS platform, Flutter framework will
surely enable a lot of new developers to develop high performance and feature-full
mobile application in the near future.
33
References:
FLUTTER
TECHNOLOGY
https://buildflutter.com/how-flutter-works/
https://www.tutorialspoint.com/flutter/index.htm
https://insights.daffodilsw.com/blog/10-amazing-apps-built-using-flutter-
framework
https://flutter.dev/
34
THANK YOU!!
Any Questions??
FLUTTER
TECHNOLOGY
35

Flutter technology Based on Web Development

  • 1.
    SNJB’s Late Sau.Kantabai BhavarlaljiJain College of Engineering FLUTTER TECHNOLOGY 1 BY: Divya Prafull Wani (TE Computer Engineering)
  • 2.
  • 3.
    Introduction It is singlecodebase for Android and ioS. Free and Open Source. It is invented by Google. Built with C,C++, and dart based . Mobile app SDK. Easy access to developer. FLUTTER 3
  • 4.
    Why to Use? Highquality native app Fast Development Expressive and Beautiful UI Native Performance Migration FLUTTER TECHNOLOGY 4
  • 5.
    Popularity Reactive performance Code usability renderingengine to draw widgets. Modern and reactive framework. Build Full featured apps FLUTTER TECHNOLOGY 5
  • 6.
    Difference: React Nativeand Flutter FLUTTER TECHNOLOGY 6 Parameter React Native Flutter Developed By Facebook Google Language Java script Dart Performance Fast Faster Who uses Facebook, Instagram, Walmart, Uber Google Ads, Tencent, Alibaba,Reflectly, Google GreenTea UI building blocks OS native components Proprietary Widgets Tooling Greater range of IDEs and tools supporting React Native Higher compatibility with visual code android code studio Reusability Allows but it is restricted to basic components. Best option for reusability Configuration and setup Lacks streamlined setup and configuration More straightforward Documentation Extensive, unorganized Good, organized
  • 7.
    Flutter uses Dart FLUTTER TECHNOLOGY Stronglytyped language Object oriented language Fast life cycle: 1. Supports JIT compilation(app development) 2. AOT compilation.(Execution) 7
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
    Stateless Widget FLUTTER TECHNOLOGY Stateless widgetsdo not require mutable state, i.e., it is immutable. In simple words, Stateless widgets cannot change their state during the runtime of the app, which means the widgets cannot be redrawn while the app is in action. You can quickly build a Stateful Widget in VS Code or Android Studio by using the shortcut “stf”. 13
  • 14.
    State full Widget FLUTTER TECHNOLOGY Statefull widgets have a mutable state, i.e., they are mutable and can be drawn multiple times within its lifetime. They are the widgets which can change their state multiple times and can be redrawn on to the screen any number of times while the app is in action. Stateful widgets are useful when the part of the user interface you are describing can change dynamically. When Flutter builds a Statefull widget it creates a State object. This object is where all the mutable state for that widget is held. 14
  • 15.
    Lifecycle of statefullwidget FLUTTER TECHNOLOGY createState() -- When Flutter is instructed to build a StatefulWidget, it immediately calls createState(). mounted == true -- All widgets have a bool this.mounted property. It turns true when the buildContext is assigned. initState() -- This is the first method called when the widget is created (after the class constructor, of course.) didChangeDependencies() -- Called when a dependency of this State object changes. build() -- Describes the part of the user interface represented by the widget. didUpdateWidget() -- Called whenever the widget configuration changes. setState() -- Whenever you change the internal state of a State object, make the change in a function that you pass to setState. 15
  • 16.
    deactivate() -- Deactivateis called when State is removed from the tree. 16 FLUTTER TECHNOLOGY
  • 17.
    Types of LayoutWidgets FLUTTER TECHNOLOGY Single Child: only 1 widget as its child. Important layout widgets provided by Flutter: 1. Padding 2. Align 3. Transform 4. Intrinsic Height 5. Intrinsic Width Multiple Child: will have more than 1 child widgets. Used widgets are:Row,Column,ListView,GridView,Table,Flow,Stack 17
  • 18.
    Gestures FLUTTER TECHNOLOGY Used Gestures are: 1.Tap 2. Drag 3. Flick 4. Pinch 5. Spread/Zoom 6. Double Tap 7. Panning 18
  • 19.
    Animation FLUTTER TECHNOLOGY Enhances user experienceto a new level . Provides rich interaction. Has two values : Start Value and End Value Animation Based Classes a. Animation<double> b. Animation<Color> c. Animation<Size> d. Animation Controller 19
  • 20.
    Creation of Applicationin Android Step 1: Open Android Studio Step 2: Create Flutter Project. For this, click File -> New -> New Flutter Project 20 FLUTTER TECHNOLOGY
  • 21.
    Step 3: SelectFlutter Application. For this, select Flutter Application and click Next. 21 FLUTTER TECHNOLOGY
  • 22.
    Step 4: Configurethe application as below and click Next. FLUTTER TECHNOLOGY Project name: hello_app Flutter SDK Path: <path_to_flutter_sdk Project Location: <path_to_project_folder> Description: Flutter based hello world application 22
  • 23.
  • 24.
    Step 5: ConfigureProject Step 6: Finish Android Studio creates a fully working flutter application with minimal functionality. FLUTTER TECHNOLOGY 24
  • 25.
    The structure ofthe application. 25 FLUTTER TECHNOLOGY
  • 26.
    Step 7: Replacethe dart code in the lib/main.dart file with the below code: 26 FLUTTER TECHNOLOGY
  • 27.
    Step 8: Now,run the application using, Run -> Run main.dart27 FLUTTER TECHNOLOGY
  • 28.
    Step 9: Finally,the output of the application is as follows: 28 FLUTTER TECHNOLOGY
  • 29.
  • 30.
    Applications: FLUTTER TECHNOLOGY Google Ads :Utility Application (shows stats) Alibaba : Ecommerce Application Reflectly : Lifestyle Application(create personal stories journal) SG Bus Tracker :Maps and Navigation Application Hookle : Social Application Birch Finance : Finance Application Water maniac : Health & Fitness Application 30
  • 31.
    Advantages: FLUTTER TECHNOLOGY Dart has alarge repository of software packages which lets you to extend the capabilities of your application. Developers need to write just a single code base for both applications (both Android and iOS platforms). Flutter may to be extended to other platform as well in the future. Flutter needs lesser testing. Because of its single code base, it is sufficient if we write automated tests once for both the platforms. Flutter’s simplicity makes it a good candidate for fast development. Its customization capability and extendibility makes it even more powerful. With Flutter, developers has full control over the widgets and its layout. Flutter offers great developer tools, with amazing hot reload. 31
  • 32.
    Limitations: FLUTTER TECHNOLOGY Since it iscoded in Dart language, a developer needs to learn new language (though it is easy to learn). Modern framework tries to separate logic and UI as much as possible but, in Flutter, user interface and logic is intermixed. We can overcome this using smart coding and using high level module to separate user interface and logic. Flutter is yet another framework to create mobile application. Developers are having a hard time in choosing the right development tools in hugely populated segment. 32
  • 33.
    Conclusion FLUTTER TECHNOLOGY Flutter framework doesa great job by providing an excellent framework to build mobile applications in a truly platform independent way . By providing simplicity in the development process, high performance in the resulting mobile application, rich and relevant user interface for both Android and iOS platform, Flutter framework will surely enable a lot of new developers to develop high performance and feature-full mobile application in the near future. 33
  • 34.
  • 35.