Flutter is a cross-platform UI framework developed by Google that allows developers to build high-performance native mobile apps from a single codebase. It offers fast development through features like hot reload, high-quality apps through platform integrations and native performance, and broad reach through a single codebase that works on both Android and iOS. The framework uses widgets as the primary building block, and includes both stateless and stateful widgets to help manage app state and updates. It also supports native platform features and plugins.
Challenges of mobiledevelopment 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
6.
The Flutter approach
Fastdevelopment
Quick iterations, hot reload
High-quality apps
Platform and system integrations
High-performance UIs
Native code, GPU accelerated
Portability, reach
Single codebase
A modern UItoolkit 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
Native Plugins
● Allowaccess 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
29.
Works with populartools and platforms!
Material Design
FirebaseVS CodeAndroid Studio
Android APIs iOS APIs Redux
Xcode
3rd-party
Android
SDKs
3rd-party
iOS SDKs