SlideShare a Scribd company logo
1 of 20
Download to read offline
Introduction to
App Development in
Flutter
using
Android Studio
By
Dr. Khulood AlKhateeb
Background
• Flutter is created and supported by Google
• Dart is similar to Swift, C#, Java, JS
• Dart combined with Flutter to make mobile apps.
• Other options
• React Native (not enough support)
• Flutter vs. React Native
Is it worth it?
• The decision to venture into Flutter and Dart
• Learning a whole new language
• The possibilities
Where you at
• Android Studio 4.0 or higher installed
• Flutter SDK and dart plugins downloaded and installed
• Setup an Android Emulator
• Did a test drive to make sure all is running properly
https://flutter.dev/docs/get-started/install
Where you will be
1. Exploring the Android Studio IDE
2. Exploring main elements of a Flutter app.
3. Create simple GUI form with:
a) text,
b) input fields, and
c) buttons.
includes styling and changes to properties
4. Understanding event handling (clicks)
5. Navigating through multiple screens
6. Using the console for debugging purposes
7. Testing in the emulator
Exploring the Android Studio IDE
• points
Hello World!
• In keeping with traditions ☺
Code sample can be found in Udacity.com
App Bar
Body
Create simple GUI form
• Draw your design first.
• Then start implementing
ListTile Widget
Leading Title
Subtitle
Trailing
Source: https://www.youtube.com/watch?v=l8dj0yPBvgQ&vl=en
Padding vs Margins
Source: https://www.pluralsight.com/blog/creative-professional/whats-difference-margin-padding
Understanding event handling
• Click -> something happens
• Debugging using console
Navigation
• Navigating to another screen
Testing in the emulator
• Hot reload!
End Results
Documentations for Widgets used
• MaterialApp: https://api.flutter.dev/flutter/material/MaterialApp-class.html
• Scaffold: https://api.flutter.dev/flutter/material/Scaffold-class.html
• Container: https://api.flutter.dev/flutter/widgets/Container-class.html
• Center: https://api.flutter.dev/flutter/widgets/Center-class.html
• Text: https://api.flutter.dev/flutter/widgets/Text-class.html
• TextField: https://api.flutter.dev/flutter/material/TextField-class.html
• ListTile: https://api.flutter.dev/flutter/material/ListTile-class.html
• Icon: https://api.flutter.dev/flutter/widgets/Icon-class.html
• RaisedButton: https://api.flutter.dev/flutter/material/RaisedButton-class.html
• Image.asset: https://api.flutter.dev/flutter/widgets/Image/Image.asset.html
• Column: https://api.flutter.dev/flutter/widgets/Column-class.html
• Navigator: https://api.flutter.dev/flutter/widgets/Navigator-class.html
• Extra: Creating Widget from scratch:
https://www.youtube.com/watch?time_continue=4&v=W1pNjxmNHNQ&feature=emb_logo
Cool Short Cuts
• Alt + Enter : popup menu for wrapping widgets
• Ctrl + Space : options and Auto-complete
• Ctrl + Alt + L : reformat the code with correct indentations
iOS developer?
• Use Cupertino package:
• https://flutter.dev/docs/get-started/flutter-for/ios-devs
References
• https://flutter.dev/
• https://dart.dev/
• http://thetechnocafe.com/just-enough-dart-for-flutter-tutorial-01-
variables-types-and-functions/
• https://flutter.dev/docs/development/ui/widgets/material
• https://api.flutter.dev/flutter/material/ListTile-class.html
What’s Next!
• Join us for other workshops where we learn:
• Using firebase with flutter
• Online Store Demo!
• Would like more info?
• follow @pinkeeta.tech
• Or email pinkeeta.tech@gmail.com
• Subscribe to @pinkeeta.tech
Thank you
Please evaluate the workshop
and help us do better

More Related Content

What's hot

All a flutter about Flutter.io
All a flutter about Flutter.ioAll a flutter about Flutter.io
All a flutter about Flutter.ioSteven Cooper
 
Developing cross platform apps in Flutter (Android, iOS, and Web)
Developing cross platform apps in Flutter (Android, iOS, and Web)Developing cross platform apps in Flutter (Android, iOS, and Web)
Developing cross platform apps in Flutter (Android, iOS, and Web)Priyanka Tyagi
 
Introduction to Android Studio
Introduction to Android StudioIntroduction to Android Studio
Introduction to Android StudioMichael Pan
 
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...Jason Conger
 
Cross-Platform App Development with Flutter, Xamarin, React Native
Cross-Platform App Development with Flutter, Xamarin, React NativeCross-Platform App Development with Flutter, Xamarin, React Native
Cross-Platform App Development with Flutter, Xamarin, React NativeKorhan Bircan
 
Intro to Flutter SDK
Intro to Flutter SDKIntro to Flutter SDK
Intro to Flutter SDKdigitaljoni
 
Comparison between Eclipse and Android Studio for Android Development
Comparison between Eclipse and Android Studio for Android DevelopmentComparison between Eclipse and Android Studio for Android Development
Comparison between Eclipse and Android Studio for Android DevelopmentWillow Cheng
 
Flutter workshop @ bang saen 2020
Flutter workshop @ bang saen 2020Flutter workshop @ bang saen 2020
Flutter workshop @ bang saen 2020Anuchit Chalothorn
 
Project a day 2 introduction to android studio
Project a day 2   introduction to android studioProject a day 2   introduction to android studio
Project a day 2 introduction to android studioGoran Djonovic
 
Introduction_to_android_and_android_studio
Introduction_to_android_and_android_studioIntroduction_to_android_and_android_studio
Introduction_to_android_and_android_studioAbdul Basit
 
New to android studio
New to android studioNew to android studio
New to android studioEngine Bai
 
Flutter festival - Write your first Flutter application
Flutter festival - Write your first Flutter applicationFlutter festival - Write your first Flutter application
Flutter festival - Write your first Flutter applicationApoorv Pandey
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to androidKalpesh Patel
 
Exploring Android Studio
Exploring Android StudioExploring Android Studio
Exploring Android StudioAkshay Chordiya
 
Flutter for web
Flutter for web Flutter for web
Flutter for web rihannakedy
 
Flutter not yet another mobile cross-platform framework - i ox-kl19
Flutter   not yet another mobile cross-platform framework - i ox-kl19Flutter   not yet another mobile cross-platform framework - i ox-kl19
Flutter not yet another mobile cross-platform framework - i ox-kl19oradoe
 

What's hot (20)

All a flutter about Flutter.io
All a flutter about Flutter.ioAll a flutter about Flutter.io
All a flutter about Flutter.io
 
Developing cross platform apps in Flutter (Android, iOS, and Web)
Developing cross platform apps in Flutter (Android, iOS, and Web)Developing cross platform apps in Flutter (Android, iOS, and Web)
Developing cross platform apps in Flutter (Android, iOS, and Web)
 
UI Automation Using Flutter
UI Automation Using FlutterUI Automation Using Flutter
UI Automation Using Flutter
 
Introduction to Android Studio
Introduction to Android StudioIntroduction to Android Studio
Introduction to Android Studio
 
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
 
Cross-Platform App Development with Flutter, Xamarin, React Native
Cross-Platform App Development with Flutter, Xamarin, React NativeCross-Platform App Development with Flutter, Xamarin, React Native
Cross-Platform App Development with Flutter, Xamarin, React Native
 
Android studio
Android studioAndroid studio
Android studio
 
Intro to Flutter SDK
Intro to Flutter SDKIntro to Flutter SDK
Intro to Flutter SDK
 
Comparison between Eclipse and Android Studio for Android Development
Comparison between Eclipse and Android Studio for Android DevelopmentComparison between Eclipse and Android Studio for Android Development
Comparison between Eclipse and Android Studio for Android Development
 
Flutter workshop @ bang saen 2020
Flutter workshop @ bang saen 2020Flutter workshop @ bang saen 2020
Flutter workshop @ bang saen 2020
 
Android Studio vs. ADT
Android Studio vs. ADTAndroid Studio vs. ADT
Android Studio vs. ADT
 
Project a day 2 introduction to android studio
Project a day 2   introduction to android studioProject a day 2   introduction to android studio
Project a day 2 introduction to android studio
 
Flutter
FlutterFlutter
Flutter
 
Introduction_to_android_and_android_studio
Introduction_to_android_and_android_studioIntroduction_to_android_and_android_studio
Introduction_to_android_and_android_studio
 
New to android studio
New to android studioNew to android studio
New to android studio
 
Flutter festival - Write your first Flutter application
Flutter festival - Write your first Flutter applicationFlutter festival - Write your first Flutter application
Flutter festival - Write your first Flutter application
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Exploring Android Studio
Exploring Android StudioExploring Android Studio
Exploring Android Studio
 
Flutter for web
Flutter for web Flutter for web
Flutter for web
 
Flutter not yet another mobile cross-platform framework - i ox-kl19
Flutter   not yet another mobile cross-platform framework - i ox-kl19Flutter   not yet another mobile cross-platform framework - i ox-kl19
Flutter not yet another mobile cross-platform framework - i ox-kl19
 

Similar to #Code2Create:: Introduction to App Development in Flutter with Dart

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)
Developing Cross platform apps in flutter (Android, iOS, Web)Priyanka Tyagi
 
Whats New in Android
Whats New in AndroidWhats New in Android
Whats New in Androiddonnfelker
 
Android development workshop
Android development workshopAndroid development workshop
Android development workshopJeff Sonstein
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsTroy Miles
 
Adopting Flutter in Native Mobile Applications
Adopting Flutter in Native Mobile ApplicationsAdopting Flutter in Native Mobile Applications
Adopting Flutter in Native Mobile ApplicationsAlexandru Terente
 
flutter_bootcamp_MUGDSC_Presentation.pptx
flutter_bootcamp_MUGDSC_Presentation.pptxflutter_bootcamp_MUGDSC_Presentation.pptx
flutter_bootcamp_MUGDSC_Presentation.pptxRakshaAgrawal21
 
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Applitools
 
Android Scripting
Android ScriptingAndroid Scripting
Android ScriptingJuan Gomez
 
The magic of flutter
The magic of flutterThe magic of flutter
The magic of flutterShady Selim
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App DevelopmentAnnmarie Lanesey
 
iOS Application Security
iOS Application SecurityiOS Application Security
iOS Application SecurityEgor Tolstoy
 
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Ryan Cuprak
 
Angular mobile angular_u
Angular mobile angular_uAngular mobile angular_u
Angular mobile angular_uDoris Chen
 
flutter Course
flutter Courseflutter Course
flutter CourseSMEClabs
 
Flutter festival gdsc juet guna
Flutter festival   gdsc juet gunaFlutter festival   gdsc juet guna
Flutter festival gdsc juet gunaSachinVerma869778
 
Cross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open SourceCross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open SourceAll Things Open
 
NCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsNCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsJohn M. Wargo
 
GoogleDSC_ GHRCE_ flutter_firebase.pptx
GoogleDSC_ GHRCE_  flutter_firebase.pptxGoogleDSC_ GHRCE_  flutter_firebase.pptx
GoogleDSC_ GHRCE_ flutter_firebase.pptxGoogleDeveloperStude22
 

Similar to #Code2Create:: Introduction to App Development in Flutter with Dart (20)

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)
Developing Cross platform apps in flutter (Android, iOS, Web)
 
Whats New in Android
Whats New in AndroidWhats New in Android
Whats New in Android
 
Android development workshop
Android development workshopAndroid development workshop
Android development workshop
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile Apps
 
Adopting Flutter in Native Mobile Applications
Adopting Flutter in Native Mobile ApplicationsAdopting Flutter in Native Mobile Applications
Adopting Flutter in Native Mobile Applications
 
flutterbootcamp
flutterbootcampflutterbootcamp
flutterbootcamp
 
flutter_bootcamp_MUGDSC_Presentation.pptx
flutter_bootcamp_MUGDSC_Presentation.pptxflutter_bootcamp_MUGDSC_Presentation.pptx
flutter_bootcamp_MUGDSC_Presentation.pptx
 
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
 
Android Scripting
Android ScriptingAndroid Scripting
Android Scripting
 
The magic of flutter
The magic of flutterThe magic of flutter
The magic of flutter
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App Development
 
iOS Application Security
iOS Application SecurityiOS Application Security
iOS Application Security
 
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
 
Angular mobile angular_u
Angular mobile angular_uAngular mobile angular_u
Angular mobile angular_u
 
flutter Course
flutter Courseflutter Course
flutter Course
 
Flutter festival gdsc juet guna
Flutter festival   gdsc juet gunaFlutter festival   gdsc juet guna
Flutter festival gdsc juet guna
 
Cross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open SourceCross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open Source
 
Introduction to jQueryMobile
Introduction to jQueryMobileIntroduction to jQueryMobile
Introduction to jQueryMobile
 
NCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsNCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile Apps
 
GoogleDSC_ GHRCE_ flutter_firebase.pptx
GoogleDSC_ GHRCE_  flutter_firebase.pptxGoogleDSC_ GHRCE_  flutter_firebase.pptx
GoogleDSC_ GHRCE_ flutter_firebase.pptx
 

More from GDGKuwaitGoogleDevel

معسكر أساسيات البرمجة في لغة بايثون.pdf
معسكر أساسيات البرمجة في لغة بايثون.pdfمعسكر أساسيات البرمجة في لغة بايثون.pdf
معسكر أساسيات البرمجة في لغة بايثون.pdfGDGKuwaitGoogleDevel
 
i/o extended: Intro to <UX> Design
i/o extended: Intro to <UX> Design  i/o extended: Intro to <UX> Design
i/o extended: Intro to <UX> Design GDGKuwaitGoogleDevel
 
Building arcade game using python workshop
 Building arcade game using python workshop Building arcade game using python workshop
Building arcade game using python workshopGDGKuwaitGoogleDevel
 
Wordpress website development workshop by Seham Abdlnaeem
Wordpress website development workshop by Seham AbdlnaeemWordpress website development workshop by Seham Abdlnaeem
Wordpress website development workshop by Seham AbdlnaeemGDGKuwaitGoogleDevel
 
WTM/IWD 202: Introduction to digital accessibility by Dr. Zainab AlMeraj
WTM/IWD 202: Introduction to digital accessibility by Dr. Zainab AlMerajWTM/IWD 202: Introduction to digital accessibility by Dr. Zainab AlMeraj
WTM/IWD 202: Introduction to digital accessibility by Dr. Zainab AlMerajGDGKuwaitGoogleDevel
 
GDG Kuwait - Modern android development
GDG Kuwait - Modern android developmentGDG Kuwait - Modern android development
GDG Kuwait - Modern android developmentGDGKuwaitGoogleDevel
 
DevFest Kuwait 2020 - Building (Progressive) Web Apps
DevFest Kuwait 2020 - Building (Progressive) Web AppsDevFest Kuwait 2020 - Building (Progressive) Web Apps
DevFest Kuwait 2020 - Building (Progressive) Web AppsGDGKuwaitGoogleDevel
 
DevFest Kuwait 2020- Cloud Study Jam: Kubernetes on Google Cloud
DevFest Kuwait 2020- Cloud Study Jam: Kubernetes on Google CloudDevFest Kuwait 2020- Cloud Study Jam: Kubernetes on Google Cloud
DevFest Kuwait 2020- Cloud Study Jam: Kubernetes on Google CloudGDGKuwaitGoogleDevel
 

More from GDGKuwaitGoogleDevel (11)

معسكر أساسيات البرمجة في لغة بايثون.pdf
معسكر أساسيات البرمجة في لغة بايثون.pdfمعسكر أساسيات البرمجة في لغة بايثون.pdf
معسكر أساسيات البرمجة في لغة بايثون.pdf
 
#Code2 create c++ for beginners
#Code2 create  c++ for beginners #Code2 create  c++ for beginners
#Code2 create c++ for beginners
 
i/o extended: Intro to <UX> Design
i/o extended: Intro to <UX> Design  i/o extended: Intro to <UX> Design
i/o extended: Intro to <UX> Design
 
#Code2Create: Python Basics
#Code2Create: Python Basics#Code2Create: Python Basics
#Code2Create: Python Basics
 
Building arcade game using python workshop
 Building arcade game using python workshop Building arcade game using python workshop
Building arcade game using python workshop
 
Wordpress website development workshop by Seham Abdlnaeem
Wordpress website development workshop by Seham AbdlnaeemWordpress website development workshop by Seham Abdlnaeem
Wordpress website development workshop by Seham Abdlnaeem
 
WTM/IWD 202: Introduction to digital accessibility by Dr. Zainab AlMeraj
WTM/IWD 202: Introduction to digital accessibility by Dr. Zainab AlMerajWTM/IWD 202: Introduction to digital accessibility by Dr. Zainab AlMeraj
WTM/IWD 202: Introduction to digital accessibility by Dr. Zainab AlMeraj
 
GDG Kuwait - Modern android development
GDG Kuwait - Modern android developmentGDG Kuwait - Modern android development
GDG Kuwait - Modern android development
 
DevFest Kuwait 2020 - Building (Progressive) Web Apps
DevFest Kuwait 2020 - Building (Progressive) Web AppsDevFest Kuwait 2020 - Building (Progressive) Web Apps
DevFest Kuwait 2020 - Building (Progressive) Web Apps
 
DevFest Kuwait 2020- Cloud Study Jam: Kubernetes on Google Cloud
DevFest Kuwait 2020- Cloud Study Jam: Kubernetes on Google CloudDevFest Kuwait 2020- Cloud Study Jam: Kubernetes on Google Cloud
DevFest Kuwait 2020- Cloud Study Jam: Kubernetes on Google Cloud
 
DevFest Kuwait 2020 - GDG Kuwait
DevFest Kuwait 2020 - GDG KuwaitDevFest Kuwait 2020 - GDG Kuwait
DevFest Kuwait 2020 - GDG Kuwait
 

Recently uploaded

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 

Recently uploaded (20)

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 

#Code2Create:: Introduction to App Development in Flutter with Dart

  • 1. Introduction to App Development in Flutter using Android Studio By Dr. Khulood AlKhateeb
  • 2. Background • Flutter is created and supported by Google • Dart is similar to Swift, C#, Java, JS • Dart combined with Flutter to make mobile apps. • Other options • React Native (not enough support) • Flutter vs. React Native
  • 3. Is it worth it? • The decision to venture into Flutter and Dart • Learning a whole new language • The possibilities
  • 4. Where you at • Android Studio 4.0 or higher installed • Flutter SDK and dart plugins downloaded and installed • Setup an Android Emulator • Did a test drive to make sure all is running properly https://flutter.dev/docs/get-started/install
  • 5. Where you will be 1. Exploring the Android Studio IDE 2. Exploring main elements of a Flutter app. 3. Create simple GUI form with: a) text, b) input fields, and c) buttons. includes styling and changes to properties 4. Understanding event handling (clicks) 5. Navigating through multiple screens 6. Using the console for debugging purposes 7. Testing in the emulator
  • 6. Exploring the Android Studio IDE • points
  • 7. Hello World! • In keeping with traditions ☺ Code sample can be found in Udacity.com App Bar Body
  • 8. Create simple GUI form • Draw your design first. • Then start implementing
  • 9. ListTile Widget Leading Title Subtitle Trailing Source: https://www.youtube.com/watch?v=l8dj0yPBvgQ&vl=en
  • 10. Padding vs Margins Source: https://www.pluralsight.com/blog/creative-professional/whats-difference-margin-padding
  • 11. Understanding event handling • Click -> something happens • Debugging using console
  • 13. Testing in the emulator • Hot reload!
  • 15. Documentations for Widgets used • MaterialApp: https://api.flutter.dev/flutter/material/MaterialApp-class.html • Scaffold: https://api.flutter.dev/flutter/material/Scaffold-class.html • Container: https://api.flutter.dev/flutter/widgets/Container-class.html • Center: https://api.flutter.dev/flutter/widgets/Center-class.html • Text: https://api.flutter.dev/flutter/widgets/Text-class.html • TextField: https://api.flutter.dev/flutter/material/TextField-class.html • ListTile: https://api.flutter.dev/flutter/material/ListTile-class.html • Icon: https://api.flutter.dev/flutter/widgets/Icon-class.html • RaisedButton: https://api.flutter.dev/flutter/material/RaisedButton-class.html • Image.asset: https://api.flutter.dev/flutter/widgets/Image/Image.asset.html • Column: https://api.flutter.dev/flutter/widgets/Column-class.html • Navigator: https://api.flutter.dev/flutter/widgets/Navigator-class.html • Extra: Creating Widget from scratch: https://www.youtube.com/watch?time_continue=4&v=W1pNjxmNHNQ&feature=emb_logo
  • 16. Cool Short Cuts • Alt + Enter : popup menu for wrapping widgets • Ctrl + Space : options and Auto-complete • Ctrl + Alt + L : reformat the code with correct indentations
  • 17. iOS developer? • Use Cupertino package: • https://flutter.dev/docs/get-started/flutter-for/ios-devs
  • 18. References • https://flutter.dev/ • https://dart.dev/ • http://thetechnocafe.com/just-enough-dart-for-flutter-tutorial-01- variables-types-and-functions/ • https://flutter.dev/docs/development/ui/widgets/material • https://api.flutter.dev/flutter/material/ListTile-class.html
  • 19. What’s Next! • Join us for other workshops where we learn: • Using firebase with flutter • Online Store Demo! • Would like more info? • follow @pinkeeta.tech • Or email pinkeeta.tech@gmail.com • Subscribe to @pinkeeta.tech
  • 20. Thank you Please evaluate the workshop and help us do better