Flutter Bootcamp
DAY 1
Apoorv Aadarsh
Soumya Ranjan Mohapatro
Shashwat Priyadarshy
Flutter
A Google's UI toolkit for
building beautiful, natively
compiled applications for
mobile, web, desktop, and
embedded devices from a
single codebase.
Why Flutter?
because it's fast af
●Fast Development
●Expressive and Flexible UI
●Native Performance
●Easy to Learn
●Supports apps at 120FPS
How Flutter Works
Architecture
Materi Widget Rendering Paintin
al s Framewor g
Cupertin Services k Animatio Gestures
o n
(Dart)
Skia Mojo
Shell Dart Engine
(C++)
BG Tech and
Performance
Technologies
C++
Skia (2D Rendering Engine)
Mojo IPC
Blink Text Rendering
Performance
Earlier versions of Flutter Supported till
60fps
Current one supports 120fps
DART
The New Homeground
dynamically typed language with optional
types
dart SDK-includes libraries & command-line
tools
dart VM - online version - dartpad
dartanalyzer - statically analyzes code,
helping you catch errors early
pub.dev - package manager
Dart2js - Dart to JavaScript Compiler
Popular apps using Flutter
Framework
1) G Pay
2) Google Ad Services
3) Hamilton
4) Reflectly
5) Cryptograph
Flutter vs Native
1. flutter doctor // Checks SDK for any errors
2. flutter version // logs currently used flutter version
3. flutter upgrade // upgrades SDK Version
4. flutter create-app YOUR_APP_NAME // creates app with YOUR_APP_NAME as app name
5. flutter emulators // lists all active emulators
6. flutter pub get // gets dependencies and packages necessary to run the project
7. flutter analyze -d // analyzes dart file for any errors
8. flutter run // builds and runs said package on the emulator
9. flutter pub update // updates packages in use
10.flutter build // builds app
Naming convention in a Flutter
project
1.Classes, enums, typedefs, and extensions name should be in
UpperCamelCase.
2.Libraries, packages, directories, and source files name should be in
snake_case (lowercase_with_underscores).
3.Variables, constants, parameters, and named parameters should be
in lowerCamelCase.
4.Whenever you have widgets that don’t change when the state
changes, you should declare them as constants.
Creating a new Flutter
project
Prerequisites
• Android Studio or VS Code installed on your PC.
• Flutter SDK (stable) installed
• A cup of your favourite coffee.
Let’s
flutter create
Flutter Bootcamp
DAY 2
Apoorv Aadarsh
Soumya Ranjan Mohapatro
Shashwat Priyadarshy
Hot Restart and Hot
Reload
Hot Restart (shift +
Hot Reload (r) r)
State New Code State New Code
Original Code Original Code
Compiles new code
State Compiles new code
New State
Original Code Updated Code
New Code
Does not update the state Sets the value of all the states to default (restarts
value app)
Widgets Everywhere...
Hierarchy
• MyApp is the parent widget and
Material App is its Child widget.
• Scaffold is the parent widget
then AppBar ,Column and
FloatingActionButton are its
children.
Everything within a flutter
application is a Widget in
Flutter from a simple “Text”
to “Buttons” to “Screen
-Layouts
ProFlutterDev
Flutter Bootcamp
DAY 3
Apoorv Aadarsh
Soumya Ranjan Mohapatro
Shashwat Priyadarshy
Firebase
The Easiest DataBase
Firebase is a fully managed
platform for building iOS,
Android, and Web applications
that provides automatic data
synchronization, authentication
services, file storage, analytics
and more.
It is a BaaS (Backend as a
Service).
Why FireBase?
Create Application without backend server
No need extra money spent for backend server
Faster than any backend web services
Push notification
No SQL database so it is more faster
Auto backup
“ Everything in firebase is stored as
map”
Thank You For Attending