KEMBAR78
Flutter | PPTX
Lets Flutter
Who am I ?
Android Geek | Blogger at Mindorks | Open Source Contributor
Community Speaker | BlockChain guy | Explorer in Tech
(React) Native vs Flutter
What is Flutter?
A SDK that makes building high-performing, modern and beautiful apps easy
Works for both Android and iOS
An open-source toolkit, developed by Google*
100+ contributions from the open source community
Who is Flutter for?
Designers converge on a brand-driven experience on Android and iOS
Prototypers enjoy a high-fidelity and fast way to build working prototypes.
Developers benefit from fantastic developer tools, an easy-to-use language, a rich set
of widgets and great IDE support. Flutter frees up valuable time for working on
features and delightful experiences.
What do you see here?
Diagram the Layout
Look for rows and columns
Is there a grid?
Any overlapping elements?
Do we need tabs?
Padding, alignment or borders needed?
HTML/CSS Analogs for Flutter
<div class="greybox">
Lorem ipsum
</div>
.greybox {
background-color: #e0e0e0; /* grey 300 */
width: 320px;
height: 240px;
font: 900 24px Georgia;
}
var container = new Container( // grey box
child: new Text(
"Lorem ipsum",
style: new TextStyle(
fontSize: 24.0
fontWeight: FontWeight.w900,
fontFamily: "Georgia",
),
),
width: 320.0,
height: 240.0,
color: Colors.grey[300],
);
$ flutter doctor
Checks your environment and displays a report to the
terminal window
$ flutter upgrade
Updates both the Flutter SDK and your packages
pubspec.yaml
name: flutter_project
description: An amazing Flutter project using Firebase Auth
dependencies:
flutter:
sdk: flutter
firebase_auth: "^0.2.5"
HOT RELOAD
Injecting updated source code files into the running Dart VM
Stateful: App state is retained after a reload.
Quickly iterate on a screen deeply nested in your app
HOT RELOAD
WIDGETS, WIDGETS ..
Goodbye, global layout system
new Center(
child: new Text('Centered Text', style: textStyle),
)
Local layouts: Every Widget defines it’s own layout. No need to tell
the parent that it’s children are supposed to be centered.
StatefulWidget vs. StatelessWidget
Using platform
channels allows for
receiving method
calls and sending
back results
Optimized for Performance
- Compiles to Native Code
- No reliance on OEM widgets
- No bridge needed
- Structural Repainting
Reactive Framework
Using Flutter
“Running at 60 fps, user interfaces created with
Flutter perform far better than those created with
other cross-platform development frameworks.”
code.tutsplus.com/tutorials/developing-an-android-app-with-flutter--cms-28270
“Coding with Dart and Flutter rekindled the joy I
had when I started with mobile dev way back
when … No B.S.”
traversoft.com/blog/2017/08/08/conference-app-flutter
"The UI is butter smooth (when building a release
version), I have never seen such a smooth
Android app"
Pascal Welsch, Speaker at Droidcon Berlin
https://tinyurl.com/gdgflutter
Additional Resources for Flutter Apps
Thank You !
Himanshu Singh
Google Associate Android Developer
@hi-manshu

Flutter

  • 1.
  • 2.
    Who am I? Android Geek | Blogger at Mindorks | Open Source Contributor Community Speaker | BlockChain guy | Explorer in Tech
  • 3.
  • 4.
    What is Flutter? ASDK that makes building high-performing, modern and beautiful apps easy Works for both Android and iOS An open-source toolkit, developed by Google* 100+ contributions from the open source community
  • 5.
    Who is Flutterfor? Designers converge on a brand-driven experience on Android and iOS Prototypers enjoy a high-fidelity and fast way to build working prototypes. Developers benefit from fantastic developer tools, an easy-to-use language, a rich set of widgets and great IDE support. Flutter frees up valuable time for working on features and delightful experiences.
  • 6.
    What do yousee here?
  • 7.
    Diagram the Layout Lookfor rows and columns Is there a grid? Any overlapping elements? Do we need tabs? Padding, alignment or borders needed?
  • 8.
    HTML/CSS Analogs forFlutter <div class="greybox"> Lorem ipsum </div> .greybox { background-color: #e0e0e0; /* grey 300 */ width: 320px; height: 240px; font: 900 24px Georgia; } var container = new Container( // grey box child: new Text( "Lorem ipsum", style: new TextStyle( fontSize: 24.0 fontWeight: FontWeight.w900, fontFamily: "Georgia", ), ), width: 320.0, height: 240.0, color: Colors.grey[300], );
  • 9.
    $ flutter doctor Checksyour environment and displays a report to the terminal window $ flutter upgrade Updates both the Flutter SDK and your packages
  • 10.
    pubspec.yaml name: flutter_project description: Anamazing Flutter project using Firebase Auth dependencies: flutter: sdk: flutter firebase_auth: "^0.2.5"
  • 11.
    HOT RELOAD Injecting updatedsource code files into the running Dart VM Stateful: App state is retained after a reload. Quickly iterate on a screen deeply nested in your app
  • 12.
  • 13.
  • 15.
    Goodbye, global layoutsystem new Center( child: new Text('Centered Text', style: textStyle), ) Local layouts: Every Widget defines it’s own layout. No need to tell the parent that it’s children are supposed to be centered.
  • 16.
  • 17.
    Using platform channels allowsfor receiving method calls and sending back results
  • 18.
  • 19.
    - Compiles toNative Code - No reliance on OEM widgets - No bridge needed - Structural Repainting
  • 20.
  • 21.
  • 22.
    “Running at 60fps, user interfaces created with Flutter perform far better than those created with other cross-platform development frameworks.” code.tutsplus.com/tutorials/developing-an-android-app-with-flutter--cms-28270
  • 23.
    “Coding with Dartand Flutter rekindled the joy I had when I started with mobile dev way back when … No B.S.” traversoft.com/blog/2017/08/08/conference-app-flutter
  • 24.
    "The UI isbutter smooth (when building a release version), I have never seen such a smooth Android app" Pascal Welsch, Speaker at Droidcon Berlin
  • 25.
  • 26.
    Thank You ! HimanshuSingh Google Associate Android Developer @hi-manshu

Editor's Notes

  • #6 Brand-driven == customized Internal teams at Google (CRM system) have managed to build functioning prototypes in a week. Designers with 0 coding experiences became productive with Flutter in weeks - allowing them to build prototypes in hours.
  • #7 When talking to a designer and a developer, you will most definitely receive two different answers, leading to different understanding of the same UI and effectively leading to confusion. We can avoid that by bringing in designers and developers early on and cooperate on the same language and same UI toolkit.
  • #9 There is a whole section in the Flutter docs that deals with this and helps people familiar with HTML and CSS to quickly become productive designers with Flutter
  • #17 StatelessWidget is used for immutable elements that only rely on the object configuration information StatefulWidget is used for elements that can dynamically change based on state-changes in the system Everytime that state changes, setChange() is called by the object
  • #20 Flutter comes with it’s own widgets and renderer No support library needed. Not depended on OEM updates. Thanks to composition, we can only redraw what changed Bit blitting moved items that didn’t change from Cache
  • #21 Flutter comes with it’s own widgets and renderer No support library needed. Not depended on OEM updates. Thanks to composition, we can only redraw what changed Bit blitting moved items that didn’t change from Cache
  • #22 Flutter comes with it’s own widgets and renderer No support library needed. Not depended on OEM updates. Thanks to composition, we can only redraw what changed Bit blitting moved items that didn’t change from Cache