Course Outline
Lesson 1: introduction to Flutter and Dart Programming Language
- Introduction
- Importance of Flutter
- Introduction to Dart
- Writing Dart code
- DartPad
- Installing Dart SDK
- IntelliJ IDEA
- Lab 1: Installing Dart IDE and Writing Dart Program
- Installing IntelliJ IDEA
- Creating a Dart Project Using IntelliJ IDEA
- Using DartPad
Lesson 2: Dart Programming - Syntax
- Introduction
- main( ) function
- Dart Variables
- Dart Data Types
- Input of Information to Dart Program
- Writing Comments
- Dart Conditional Operators
- If Statement
- If – Else Statement
- If…Else and Else…If... Statement
- If Else and Logical Operators
- For Loops
- While Loops
- Do-while Loops
- Break Statement
- Switch Case Statement
- Lab 2: Create a Pizza Order Program
Lesson 3: Dart Functions & Object-Oriented Programming (OOP)
- Functions
- Function Structure
- Creating a Function
- Function Return Data Types
- Void Function
- Function Returning Expression
- Functions and Variable Scope
- Object-Oriented Programming (OOP)
- Object
- Class
- Creating a Class
- Adding Methods to Classes
- Providing Constructors for Your Classes
- Class — Getters and Setters
- Class Inheritance
- Abstract Class
- Dart Project Structure and Dart Libraries
- Lab 3: Create a Small Overtime Payment Program
Lesson 4: introduction to Flutter
- Understanding Flutter
- Flutter Framework
- Android Studio
- What is Android Studio?
- Android Studio Software Prerequisite
- Installing Android Studio
- Flutter SDK
- Installing and Configuring Flutter SDK
- Creating a New Flutter Project
- Setup an Android Virtual Device
- Run a Flutter App
- Installing Flutter on Mac
- Test Your Flutter App on iOS Phone with Windows O.S
- Android Studio Sugar and Spice
- Run your Apps on a Hardware Device (Physical Phone)
- Run your Flutter App on Android Phone
- Run your Flutter App on IPhone Device
- Emulator Debug Mode
- Introduction to Flutter Widgets
- Creating a Flutter App Using Widgets
- What is a MaterialApp widget?
- Lab 4: Creating a Simple Flutter App
Lesson 5: Flutter Widgets Fundamentals
- Scaffold Widget
- Image Widget
- Container Widget
- Column and Row Widgets
- Icon Widget
- Layouts in Flutter
- Card Widget
- App Icons for iOS and Android Apps
- Hot Reload and Hot Restart
- Stateful and Stateless Widgets
- Use a Custom Font
- Lab: Creating a Restaurant Menu
Lesson 6: Navigation and Routing
- Button Widget
- FloatingActionButton
- RaisedButton, FlatButton, and IconButton
- DropdownButton
- OutlineButton
- ButtonBar
- PopupMenuButton
- App Structure and Navigation
- Navigate to a New Screen and Back
- Navigate with Named Routes
- Send and Return Data Among Screens
- Animate a Widget Across Screens
- WebView Widget in Flutter
- Lab 6: Navigation and Routing a Pizza Store App
Lesson 7: visual, Behavioral, and Motion-Rich Widgets implementing Material Design Guidelines - Part 1
- Introduction
- BottomNavigatorBar Widget
- DefaultTabController, TabBar, and TabBarView Widgets
- ListTile Widget
- ListView Widget
- Drawer Widget
- DataTable Widget
- SelectableText Widget
- Stack Widget
- Lab : 7
- Lab A: Creating a Flutter App using BottomNavigatorBar Navigation Technique.
- Lab B: Using DataTable Sorting Built-in function.
Lesson 8: visual, Behavioral, and Motion-Rich Widgets implementing Material Design Guidelines - Part 2
- Input and Selections
- Text Field Widget.
- CheckboxGroup and RadioButtonGroup Widgets
- Date Picker
- Time Picker
- Slider Widget.
- Switch Widget.
- Dialogs, Alerts, and Panels
- Alert Dialog Widget.
- Cupertino Alert Dialog Widget.
- Bottom Sheet.
- Modal Bottom Sheet.
- Persistent Bottom Sheet.
- Expansion Panel Widget.
- Snack Bar Widget.
- Lab 8: Creating a Hotel Reservation App
Lesson 9: Firebase
- Introduction
- What is the JSON ?
- How does Firebase Database work?
- Firebase authentication (Signup and Login to Flutter App)
- Configure Your App to use Firebase Services
- Adding Firebase to your Android App
- Adding Firebase to your iOS App
- Configuring Firebase Authentication
- Login to an App Using Firebase User Accounts
- Logout Configuration
- Firebase Database
- Which database is right for your project?
- Real Time Database
- Cloud Firestore
- Lab 9 : Create a User Profile Interface using Firebase
Lesson 10: Location-Aware Apps: Using GPS and Google Maps
- Introduction
- What is GPS and how does it work?
- The Camera Position
- Adding Google Maps to a Flutter app
- Getting a Google API key
- Adding Google Maps Flutter plug-in as a dependency
- Adding your API key for your Android app
- Adding your API key for your iOS app
- Adding a Google Map on Your Flutter App Screen
- Adding a Google Map Marker
- Google Map Types
- Moving the Camera (Camera Animation)
- Capturing an App User’s Location for iOS and Android Apps.
- Lab10: Location-Aware Apps Using GPS and Google Maps
- Getting a Google API key
- Creating an App Interface
- Configuring your App to Use Your API Key
- Adding a Google Map on your Flutter App Screen
- Adding a Google Map Marker
- Capturing Users’ Location
- Configuring User App’s Permission
Lesson 11: App Testing & Publishing
- Testing and Feedback for Your App
- Setting up a Test Environment
- Usability Testing by Participants
- Starting your Test Session
- Analyzing your Test
- Publishing Flutter Apps
- Publishing Android App on Google Play Store
- Publishing iOS app on Apple Store
Testimonials
Antonio gave is much background information, best practices and showed us useful tools to speed up our development process.
Philipp Hunger
The pace and he gave background understanding on what the subject is about and what it is built on
Vodacom SA
His ability to explain complex concept in simpler terms. Giving an overview of how everything ties together and how we can best apply these in our work scenarios
Sefako Tholo - Vodacom SA
Simplification of new complex techniques