Pune Flutter Presents - Flutter 101

Arif Amirani
Arif AmiraniOrganizer em Pune Cassandra Users
Flutter 101
Introduction to Flutter
Arif Amirani
CTO & Co-Founder at MetroGuild Inc
Agenda
◦ What is Flutter?
◦ Compare to Native/OEM Widgets based
◦ Setting it up
◦ Demo application walkthrough
◦ Q&A
2
3
BEAUTIFUL APPS!
“Flutter is Google’s UI toolkit
for building beautiful,
natively compiled
applications for mobile,
web, and desktop from a
single codebase
4
Why Flutter?
◦ Beautiful UI
◦ Control every pixel on the screen
◦ Never say "no" to your designer
◦ Stand out in the marketplace
◦ Beautiful animations
◦ Standard (Tween, etc) and Physics-based
5
Why Flutter for Developers?
◦ Fast
◦ 60fps
◦ Compiled to native code
◦ Productive
◦ Sub-second reload times (JIT vs AOT)
◦ Iterate rapidly on features
◦ Single-codebase for faster collaboration
◦ Vibrant community & growing
6
Flutter is Unique
◦ Compiles to Native Code (ARM Binary code)
◦ No reliance on OEM widgets
◦ No bridge needed
◦ No mark-up language (only Dart)
7
What makes it unique?
8
Platform SDKs
Webviews
What makes it unique?
9
Reactive
(Flux)
Flutter way – Awesome!
10
Under the hood
11
Flutter Embedders
12
Google Fuchsia
Fuchsia is a capability-based, real-
time operating system (RTOS)
currently being developed by
Google.
No more Java/Dalvik/Oracle
◦ Android
◦ iOS
◦ Desktop
◦ Web
◦ Raspberry Pi
◦ Android Things
Daaaaa…Dart?
◦ Open-source web programming
language developed by Google. (By the
guy who wrote v8 – Lars Bak)
◦ Class-based, single-inheritance with
mixins, object oriented language with C-
style syntax.
◦ Supports interfaces, abstract classes,
reified generics, and strong typing
13
Dart is easy peasy lemon squeezy
14
App Structure/Widgets
15
Widgets everywhere
◦ Widgets are immutable
◦ Declarations of parts of
the UI
◦ Like a <div>
◦ A structural element like
a button, menu
◦ A stylistic element like a
font, theme
◦ Part of layout like
padding, center
16
Its all widgets
17
What kind of Widgets are there?
◦ Generic Widget
◦ Column, Row, Flex, Padding, Opacity, etc.
◦ GestureDetector, Painter, etc.
◦ Material widgets
◦ RaisedButton, FlatButton, InkWell, etc.
◦ FloatingActionButton, etc.
◦ Cupertino widgets
◦ CupertinoActionSheet, CupertinoButton, etc
◦ CupertinoTextField, etc
18
19
20
21
The widget library
The package
manager (pub.dev)
22
The Widget Tree
23
Most common widgets
◦ Text, Image, Icon – Basic widgets
◦ Container - The div of Flutter UI. It's a convenience widget
that allows you to add padding, alignment, backgrounds,
force sizes on widgets, and boatloads of other things. It also
takes up 0px space when empty, which comes in handy.
◦ Row, Column – Flex rule based
◦ Stack - A stack displays a list of children on top of one and
other.
◦ Scaffold - This is the root of every page in your app, which
gives your app a basic layout structure. It makes it easy to
implement bottom navigations, appBars, back buttons, etc.
24
Stateful vs Stateless Widgets
25
BuildContext Class is nothing else but
a reference to the location of a Widget
within the tree structure of all the
Widgets which are built.
Stateful Widget Lifecycle
26
Flutter for HTML Developers
27
State Management
◦ Scoped Model
◦ Provider (Recommended)
◦ Business Logic Component or BLoC (too
complicated)
◦ Mobx
◦ Redux
28
Oh one more thing… Physics!!
29
Real Assets
30
Skeletal Animation
31
Trim Paths – Icons/Animations
32
Setting it up
33
34
Demo time!
36
Thanks!
MetroGuild Pune is hiring!
Flutter/Python/ReactJS Developers
You can find me at:
◦ https://www.linkedin.com/in/arifamirani/
◦ @kontinuity
References
◦ https://hackernoon.com/why-flutter-uses-
dart-dd635a054ebf
◦ https://medium.com/saugo360/flutters-
rendering-engine-a-tutorial-part-1-
e9eff68b825d
◦ https://hackernoon.com/whats-
revolutionary-about-flutter-946915b09514
◦ https://medium.com/@ralfgehrer/how-
flutter-works-under-the-hood-and-why-it-
is-game-changing-2335954a5bfc
37
1 de 37

Recomendados

What is Flutter por
What is FlutterWhat is Flutter
What is FlutterMalan Amarasinghe
1.5K visualizações18 slides
The magic of flutter por
The magic of flutterThe magic of flutter
The magic of flutterShady Selim
1.5K visualizações30 slides
Flutter for web por
Flutter for web Flutter for web
Flutter for web rihannakedy
398 visualizações33 slides
Flutter por
Flutter Flutter
Flutter Mohit Nainwal
383 visualizações12 slides
Flutter introduction por
Flutter introductionFlutter introduction
Flutter introductionSheilaJimenezMorejon
451 visualizações11 slides
Introduction to Flutter por
Introduction to FlutterIntroduction to Flutter
Introduction to FlutterApoorv Pandey
569 visualizações27 slides

Mais conteúdo relacionado

Mais procurados

Flutter beyond hello world por
Flutter beyond hello worldFlutter beyond hello world
Flutter beyond hello worldAhmed Abu Eldahab
2.7K visualizações61 slides
Flutter session 01 por
Flutter session 01Flutter session 01
Flutter session 01DSC IEM
490 visualizações28 slides
Flutter por
FlutterFlutter
FlutterToma Velev
311 visualizações28 slides
Flutter introduction por
Flutter introductionFlutter introduction
Flutter introductionVõ Duy Tuấn
1.2K visualizações21 slides
Building beautiful apps with Google flutter por
Building beautiful apps with Google flutterBuilding beautiful apps with Google flutter
Building beautiful apps with Google flutterAhmed Abu Eldahab
10.6K visualizações35 slides
Mobile development with Flutter por
Mobile development with FlutterMobile development with Flutter
Mobile development with FlutterAwok
532 visualizações51 slides

Mais procurados(20)

Flutter beyond hello world por Ahmed Abu Eldahab
Flutter beyond hello worldFlutter beyond hello world
Flutter beyond hello world
Ahmed Abu Eldahab2.7K visualizações
Flutter session 01 por DSC IEM
Flutter session 01Flutter session 01
Flutter session 01
DSC IEM490 visualizações
Flutter por Toma Velev
FlutterFlutter
Flutter
Toma Velev311 visualizações
Flutter introduction por Võ Duy Tuấn
Flutter introductionFlutter introduction
Flutter introduction
Võ Duy Tuấn1.2K visualizações
Building beautiful apps with Google flutter por Ahmed Abu Eldahab
Building beautiful apps with Google flutterBuilding beautiful apps with Google flutter
Building beautiful apps with Google flutter
Ahmed Abu Eldahab10.6K visualizações
Mobile development with Flutter por Awok
Mobile development with FlutterMobile development with Flutter
Mobile development with Flutter
Awok532 visualizações
Flutter talkshow por Nhan Cao
Flutter talkshowFlutter talkshow
Flutter talkshow
Nhan Cao830 visualizações
Flutter workshop por Vishnu Suresh
Flutter workshopFlutter workshop
Flutter workshop
Vishnu Suresh11.2K visualizações
Flutter presentation.pptx por FalgunSorathiya
Flutter presentation.pptxFlutter presentation.pptx
Flutter presentation.pptx
FalgunSorathiya3.3K visualizações
What and Why Flutter? What is a Widget in Flutter? por MohammadHussain595488
What and Why Flutter? What is a Widget in Flutter?What and Why Flutter? What is a Widget in Flutter?
What and Why Flutter? What is a Widget in Flutter?
MohammadHussain595488513 visualizações
Getting started with flutter por rihannakedy
Getting started with flutterGetting started with flutter
Getting started with flutter
rihannakedy1.4K visualizações
Flutter por Ankit Kumar
FlutterFlutter
Flutter
Ankit Kumar1.1K visualizações
Flutter Intro por Vladimir Parfenov
Flutter IntroFlutter Intro
Flutter Intro
Vladimir Parfenov7.4K visualizações
Flutter Tutorial For Beginners | Edureka por Edureka!
Flutter Tutorial For Beginners | EdurekaFlutter Tutorial For Beginners | Edureka
Flutter Tutorial For Beginners | Edureka
Edureka!4.5K visualizações
Flutter por Mohit Sharma
FlutterFlutter
Flutter
Mohit Sharma682 visualizações
Flutter por Shyju Madathil
FlutterFlutter
Flutter
Shyju Madathil1.2K visualizações
Build beautiful native apps in record time with flutter por RobertLe30
Build beautiful native apps in record time with flutterBuild beautiful native apps in record time with flutter
Build beautiful native apps in record time with flutter
RobertLe30302 visualizações
flutter.school #HelloWorld por Frederik Schweiger
flutter.school #HelloWorldflutter.school #HelloWorld
flutter.school #HelloWorld
Frederik Schweiger429 visualizações
Developing Cross platform apps in flutter (Android, iOS, Web) por Priyanka Tyagi
Developing Cross platform apps in flutter (Android, iOS, Web)Developing Cross platform apps in flutter (Android, iOS, Web)
Developing Cross platform apps in flutter (Android, iOS, Web)
Priyanka Tyagi1.3K visualizações
Flutter por Dave Chao
FlutterFlutter
Flutter
Dave Chao368 visualizações

Similar a Pune Flutter Presents - Flutter 101

Flutter Leap of Faith por
Flutter Leap of FaithFlutter Leap of Faith
Flutter Leap of FaithDamith Warnakulasuriya
50 visualizações26 slides
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc... por
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...DevClub_lv
2.5K visualizações46 slides
Introduction to flutter's basic concepts por
Introduction to flutter's basic conceptsIntroduction to flutter's basic concepts
Introduction to flutter's basic conceptsKumaresh Chandra Baruri
159 visualizações20 slides
Introduzione a flutter por
Introduzione a flutterIntroduzione a flutter
Introduzione a flutterFederico Parezzan
89 visualizações19 slides
Getting Started with Cross-Platform Mobile Development with Flutter and Dart por
Getting Started with Cross-Platform Mobile Development with Flutter and DartGetting Started with Cross-Platform Mobile Development with Flutter and Dart
Getting Started with Cross-Platform Mobile Development with Flutter and DartHarshith Keni
73 visualizações11 slides
Flutter vs ReactNative por
Flutter vs ReactNativeFlutter vs ReactNative
Flutter vs ReactNativeSumit Sahoo
102 visualizações23 slides

Similar a Pune Flutter Presents - Flutter 101(20)

Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc... por DevClub_lv
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
DevClub_lv2.5K visualizações
Introduction to flutter's basic concepts por Kumaresh Chandra Baruri
Introduction to flutter's basic conceptsIntroduction to flutter's basic concepts
Introduction to flutter's basic concepts
Kumaresh Chandra Baruri159 visualizações
Introduzione a flutter por Federico Parezzan
Introduzione a flutterIntroduzione a flutter
Introduzione a flutter
Federico Parezzan89 visualizações
Getting Started with Cross-Platform Mobile Development with Flutter and Dart por Harshith Keni
Getting Started with Cross-Platform Mobile Development with Flutter and DartGetting Started with Cross-Platform Mobile Development with Flutter and Dart
Getting Started with Cross-Platform Mobile Development with Flutter and Dart
Harshith Keni73 visualizações
Flutter vs ReactNative por Sumit Sahoo
Flutter vs ReactNativeFlutter vs ReactNative
Flutter vs ReactNative
Sumit Sahoo102 visualizações
Flutter - Pixel by Pixel por Thomas Gazzoni
Flutter - Pixel by PixelFlutter - Pixel by Pixel
Flutter - Pixel by Pixel
Thomas Gazzoni1.5K visualizações
Introduction Flutter for Create Multiplatform Apps por Yatno Sudar
Introduction Flutter for Create Multiplatform AppsIntroduction Flutter for Create Multiplatform Apps
Introduction Flutter for Create Multiplatform Apps
Yatno Sudar39 visualizações
Introduction to hybrid application development por Kunjan Thakkar
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application development
Kunjan Thakkar716 visualizações
Titanium appcelerator kickstart por Alessio Ricco
Titanium appcelerator kickstartTitanium appcelerator kickstart
Titanium appcelerator kickstart
Alessio Ricco2.2K visualizações
Fluttering por Sercan Yusuf
FlutteringFluttering
Fluttering
Sercan Yusuf123 visualizações
The Story of SNCF Connect - biggest Flutter app in Europe (@FlutterHeroes 2023) por François
The Story of SNCF Connect - biggest Flutter app in Europe (@FlutterHeroes 2023)The Story of SNCF Connect - biggest Flutter app in Europe (@FlutterHeroes 2023)
The Story of SNCF Connect - biggest Flutter app in Europe (@FlutterHeroes 2023)
François 12 visualizações
Game development using Flutter por Shady Selim
Game development using FlutterGame development using Flutter
Game development using Flutter
Shady Selim438 visualizações
Google Developer Group(GDG) DevFest Event 2012 Android talk por Imam Raza
Google Developer Group(GDG) DevFest Event 2012 Android talkGoogle Developer Group(GDG) DevFest Event 2012 Android talk
Google Developer Group(GDG) DevFest Event 2012 Android talk
Imam Raza1.4K visualizações
Green Custard Friday Talk 22: Flutter por Green Custard
Green Custard Friday Talk 22: FlutterGreen Custard Friday Talk 22: Flutter
Green Custard Friday Talk 22: Flutter
Green Custard249 visualizações
Native mobile application development with Flutter (Dart) por Randal Schwartz
Native mobile application development with Flutter (Dart)Native mobile application development with Flutter (Dart)
Native mobile application development with Flutter (Dart)
Randal Schwartz3.9K visualizações
Going native - Taking desktop applications to mobile devices por Tanzer Consulting
Going native - Taking desktop applications to mobile devicesGoing native - Taking desktop applications to mobile devices
Going native - Taking desktop applications to mobile devices
Tanzer Consulting921 visualizações
Desktop apps with node webkit por Paul Jensen
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkit
Paul Jensen33.3K visualizações
From React to React Native - Things I wish I knew when I started por sparkfabrik
From React to React Native - Things I wish I knew when I startedFrom React to React Native - Things I wish I knew when I started
From React to React Native - Things I wish I knew when I started
sparkfabrik143 visualizações

Último

AMAZON PRODUCT RESEARCH.pdf por
AMAZON PRODUCT RESEARCH.pdfAMAZON PRODUCT RESEARCH.pdf
AMAZON PRODUCT RESEARCH.pdfJerikkLaureta
15 visualizações13 slides
.conf Go 2023 - Data analysis as a routine por
.conf Go 2023 - Data analysis as a routine.conf Go 2023 - Data analysis as a routine
.conf Go 2023 - Data analysis as a routineSplunk
93 visualizações12 slides
Spesifikasi Lengkap ASUS Vivobook Go 14 por
Spesifikasi Lengkap ASUS Vivobook Go 14Spesifikasi Lengkap ASUS Vivobook Go 14
Spesifikasi Lengkap ASUS Vivobook Go 14Dot Semarang
35 visualizações1 slide
Java Platform Approach 1.0 - Picnic Meetup por
Java Platform Approach 1.0 - Picnic MeetupJava Platform Approach 1.0 - Picnic Meetup
Java Platform Approach 1.0 - Picnic MeetupRick Ossendrijver
25 visualizações39 slides
DALI Basics Course 2023 por
DALI Basics Course  2023DALI Basics Course  2023
DALI Basics Course 2023Ivory Egg
14 visualizações12 slides
AI: mind, matter, meaning, metaphors, being, becoming, life values por
AI: mind, matter, meaning, metaphors, being, becoming, life valuesAI: mind, matter, meaning, metaphors, being, becoming, life values
AI: mind, matter, meaning, metaphors, being, becoming, life valuesTwain Liu 刘秋艳
35 visualizações16 slides

Último(20)

AMAZON PRODUCT RESEARCH.pdf por JerikkLaureta
AMAZON PRODUCT RESEARCH.pdfAMAZON PRODUCT RESEARCH.pdf
AMAZON PRODUCT RESEARCH.pdf
JerikkLaureta15 visualizações
.conf Go 2023 - Data analysis as a routine por Splunk
.conf Go 2023 - Data analysis as a routine.conf Go 2023 - Data analysis as a routine
.conf Go 2023 - Data analysis as a routine
Splunk93 visualizações
Spesifikasi Lengkap ASUS Vivobook Go 14 por Dot Semarang
Spesifikasi Lengkap ASUS Vivobook Go 14Spesifikasi Lengkap ASUS Vivobook Go 14
Spesifikasi Lengkap ASUS Vivobook Go 14
Dot Semarang35 visualizações
Java Platform Approach 1.0 - Picnic Meetup por Rick Ossendrijver
Java Platform Approach 1.0 - Picnic MeetupJava Platform Approach 1.0 - Picnic Meetup
Java Platform Approach 1.0 - Picnic Meetup
Rick Ossendrijver25 visualizações
DALI Basics Course 2023 por Ivory Egg
DALI Basics Course  2023DALI Basics Course  2023
DALI Basics Course 2023
Ivory Egg14 visualizações
AI: mind, matter, meaning, metaphors, being, becoming, life values por Twain Liu 刘秋艳
AI: mind, matter, meaning, metaphors, being, becoming, life valuesAI: mind, matter, meaning, metaphors, being, becoming, life values
AI: mind, matter, meaning, metaphors, being, becoming, life values
Twain Liu 刘秋艳35 visualizações
Empathic Computing: Delivering the Potential of the Metaverse por Mark Billinghurst
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
Mark Billinghurst470 visualizações
The details of description: Techniques, tips, and tangents on alternative tex... por BookNet Canada
The details of description: Techniques, tips, and tangents on alternative tex...The details of description: Techniques, tips, and tangents on alternative tex...
The details of description: Techniques, tips, and tangents on alternative tex...
BookNet Canada121 visualizações
ChatGPT and AI for Web Developers por Maximiliano Firtman
ChatGPT and AI for Web DevelopersChatGPT and AI for Web Developers
ChatGPT and AI for Web Developers
Maximiliano Firtman181 visualizações
Perth MeetUp November 2023 por Michael Price
Perth MeetUp November 2023 Perth MeetUp November 2023
Perth MeetUp November 2023
Michael Price15 visualizações
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor... por Vadym Kazulkin
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
Vadym Kazulkin75 visualizações
The Importance of Cybersecurity for Digital Transformation por NUS-ISS
The Importance of Cybersecurity for Digital TransformationThe Importance of Cybersecurity for Digital Transformation
The Importance of Cybersecurity for Digital Transformation
NUS-ISS27 visualizações
Business Analyst Series 2023 - Week 3 Session 5 por DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10209 visualizações
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV por Splunk
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
Splunk88 visualizações
Understanding GenAI/LLM and What is Google Offering - Felix Goh por NUS-ISS
Understanding GenAI/LLM and What is Google Offering - Felix GohUnderstanding GenAI/LLM and What is Google Offering - Felix Goh
Understanding GenAI/LLM and What is Google Offering - Felix Goh
NUS-ISS41 visualizações
Transcript: The Details of Description Techniques tips and tangents on altern... por BookNet Canada
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...
BookNet Canada130 visualizações
Data-centric AI and the convergence of data and model engineering: opportunit... por Paolo Missier
Data-centric AI and the convergence of data and model engineering:opportunit...Data-centric AI and the convergence of data and model engineering:opportunit...
Data-centric AI and the convergence of data and model engineering: opportunit...
Paolo Missier34 visualizações
Digital Product-Centric Enterprise and Enterprise Architecture - Tan Eng Tsze por NUS-ISS
Digital Product-Centric Enterprise and Enterprise Architecture - Tan Eng TszeDigital Product-Centric Enterprise and Enterprise Architecture - Tan Eng Tsze
Digital Product-Centric Enterprise and Enterprise Architecture - Tan Eng Tsze
NUS-ISS19 visualizações
Special_edition_innovator_2023.pdf por WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2216 visualizações

Pune Flutter Presents - Flutter 101