Hello
@rihanna_ke
??
@rihanna_ke
An open-source toolkit, made by
UI toolkit for building beautiful,
natively compiled applications for mobile, web, and desktop
from a single codebase,
written in Dart.
flutter.dev
Beautiful
No compromises
for UI design
flutter.dev
@rihanna_ke
Control every pixel
Rich palette of tools
Never say no to your “designer”
@rihanna_ke flutter.dev
@rihanna_ke
The power
of widgets
Everything is a
widget!!
https://flutter.dev/docs/development/ui/widgets
@rihanna_ke
Declarative
layout
Create layout by
declaring intent
Flutter figures out
the “how”
Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Text(
'Hello',
style:Theme.of(context).textTheme.headline3),
Padding(
padding: const EdgeInsets.all(8.0),
child: FlutterLogo(size: 100),
),
]
)
@rihanna_ke
Beautiful
widgets
- Material Components
widgets
- Cupertino (iOS-style)
widgets
Layout - related Widgets
- Single-child layout widgets
(Container, Center, Expanded, Padding)
- Multi-child layout widgets
(Column, Row, ListView, Stack)
Structural Widgets
(Buttons, Icons, Text, Image)
Animation & motion Widgets:
Styling widgets
Scrolling widgets
…..
Material component Widgets
Cupertino widgets
flutter.dev
Fast
Take the speed
limiter off your app
Fast
High velocity
development
+ Native
performance
@rihanna_ke
Graphics engine Skia 2D
60fps, GPU accelerated
Compiled to native machine code
@rihanna_ke flutter.dev
Fast
Take the speed
limiter off your app
Productive
Develop while your
app is running
@rihanna_ke
Paint your app to life
Hot Reload & Hot Restart
Revolutionary capabilities for
developers and designers
@rihanna_ke
Fast
Take the speed
limiter off your app
One language
Dart
Since 2011
@rihanna_ke
made by
Client -optimized OOP language
for fast apps in any platform
Dart js compiler
Just in time and Ahead of time
compilation
Dart
@rihanna_ke
Stateful hot reload
Syntax simplicity
‘to -native’ compilation
@rihanna_ke
Fast
Take the speed
limiter off your app
Why
Is Unique??
@rihanna_ke
@rihanna_ke
Fast
Take the speed
limiter off your app
Architecture
overview
flutter.dev
@rihanna_ke
Web
flutter.dev
@rihanna_ke
vs
@rihanna_ke
Plugins/Packages
@rihanna_ke
Fast
Take the speed
limiter off your app
Why
Is Awesome??
@rihanna_ke
Set up
https://flutter.dev/docs/get-started/install
@rihanna_ke
IDE Support
flutter.dev/docs/get-started/editor
@rihanna_ke
dartpad.dev
@rihanna_ke
codepen.io
@rihanna_ke
Fast
Take the speed
limiter off your app
app
@rihanna_ke
@rihanna_ke
void main() {
runApp(MyApp());
}
@rihanna_ke
Stateless
widget
Input Data
Widget
Renders UI
Data can change
(externally)
Gets (re)- rendered
when
Input Data changes
@rihanna_ke
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
@rihanna_ke
Internal State
Stateful
widget
Input Data
Renders UI
Widget
Data can change
(externally)
Gets (re)- rendered
when
Input Data
or local State
changes
@rihanna_ke
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
@rihanna_ke
class _MyHomePageState extends State<MyHomePage>{
int _counter = 0;
void _incrementCounter() {
setState(() {
_counter++;
});
}
.
.
.
@rihanna_ke
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text(widget.title)),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'You have pushed the button this many times:',
),
Text( '$_counter',
style: Theme.of(context).textTheme.headline4,
),
],
)),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: Icon(Icons.add),
), );
}
@rihanna_ke
Recap
@1littleendian
Great looking
and fast Apps
@rihanna_ke
One codebase
On every screen
@rihanna_ke
flutter build android [--release]
flutter build ios [--release]
flutter build linux [--release]
flutter build macos [--release]
flutter build windows [--release]
flutter build web [--release]
@rihanna_ke
flutter.dev/desktop
flutter.dev/web
Fast
Take the speed
limiter off your app
Getting
started with
@rihanna_ke
Fast
Take the speed
limiter off your app
flutter.dev/docs/get-started/flutter-for/
@rihanna_ke
Fast
Take the speed
limiter off your app
- Checkout examples
- Watch Flutter videos/courses
- Read Flutter documentations
- Play and practice
- Find a friend to learn with
@rihanna_ke
Newbie
- Dart code lab
- Tour of dart
- Dart video tutorials
@rihanna_ke
Flutter docs / blogs
- flutter.dev
- flutter.faq
- flutter.community
- flutter.medium
@rihanna_ke
- flutter.showcases
- codepen.io/flutter
- itsallwidgets.com
- latest codelabs
- fluttergems.dev
Coding GIF By Memecandy from giphy.com
@rihanna_ke
- The Flutter boring show
- Widget of the week
- Flutter in focus
@rihanna_ke
Fast
Take the speed
limiter off your app
Open
Everything is free
100% community
contribution
github.com/flutter/
@rihanna_ke
Fast
Take the speed
limiter off your app
@rihanna_ke
flutter.dev/
community
@rihanna_ke
flutteristas.org
World-wide community
of people whose gender
identity is either female
or non-binary
@flutteristas
Thank you!!
@rihanna_ke

Hello Flutter