#HelloWorld
A short introduction to Flutter, Google’s cross-platform
UI framework.
@flschweiger
Frederik Schweiger
Flutter is a
cross-platform
UI framework.
Challenges of mobile development today
“To the metal” approaches “Cross platform” approaches
Must fund two apps
Two teams, codebases, & investments
Inconsistent brand, features
Different across devices & OEMs
Poor Performance
Slow, jerky, unpredictable
Non-Native Look/Feel
Users can tell the difference
High-quality apps
Platform and system integrations
Fast development
Quick iterations, hot reload
High-performance UIs
Native code, GPU accelerated
Portability, reach
Single codebase
The Flutter approach
Fast development
Quick iterations, hot reload
High-quality apps
Platform and system integrations
High-performance UIs
Native code, GPU accelerated
Portability, reach
Single codebase
Why it’s different to other solutions
A modern UI toolkit for native apps
Framework
(Dart)
Engine
(C++) Skia Dart Text
Material Cupertino
Widgets
Rendering
Animation Painting Gestures
Foundation
Flutter app
(client)
State
MethodChannel
iOS host
Android host
AppDelegat
e
Activity
FlutterViewController
FlutterView
iOS
Platform
APIs
3rd-Party
APIs for
iOS
Android
Platform
APIs
3rd-Party
APIs for
Android
Show me some
Flutter!
100%
Flutter
so
much
WOW
100%
Flutter
so
much
WOW 100%
custom rendering
Awesome performance!
There’s more!
What’s the point in custom rendering?
That’s the point.
Building UIs:
It’s all
widgets!
It’s all
widgets!
the only building block
everything is a widget
the app is a widget
each screen is a widget
widgets are made out of widgets
Stateful &
Stateless.
Lesson 1: Stateless Widgets Have NO
state.(who guessed that?)
Are IMmutable.
Lesson 2: Stateful Widgets
Have a state.
Have mutable instance fields.
Use setState() to notify for UI
updates.
Have mutable instance fields.
Use setState() to notify for UI
updates.
Live Coding.
That all sounds
super nice but what
about platform
native stuff?
Native Plugins
● Allow access to every native platform API
→ Bluetooth, Geolocation, Sensors, Fingerprint, Camera, etc…
● Official and community driven plugins available
● All Firebase Features are supported by Google
● Most common features like GPS, Camera, Sensors are already
implemented by Google and the community, check out pub.dartlang.org
● If a plugin does not exist out-of-the-box, it’s easy to write your own
Works with popular tools and platforms!
Material Design
FirebaseVS CodeAndroid Studio
Android APIs iOS APIs Redux
Xcode
3rd-party
Android
SDKs
3rd-party
iOS SDKs
Demo Time.
Thank you!

flutter.school #HelloWorld