Course Outline
Lesson 1: Introduction to Flutter and the Dart Programming Language
- Introduction
- Importance of Flutter
- Introduction to Dart
- Writing Dart code
- DartPad
- Installing the Dart SDK
- IntelliJ IDEA
- Lab 1: Installing the Dart IDE and Writing a 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
- Inputting Information into a Dart Program
- Writing Comments
- Dart Conditional Operators
- If Statement
- If – Else Statement
- If…Else and Else…If Statements
- If Else and Logical Operators
- For Loops
- While Loops
- Do-while Loops
- Break Statement
- Switch Case Statement
- Lab 2: Creating a Pizza Order Program
Lesson 3: Dart Functions and 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: Creating a Small Overtime Payment Program
Lesson 4: Introduction to Flutter
- Understanding Flutter
- Flutter Framework
- Android Studio
- What is Android Studio?
- Android Studio Software Prerequisites
- Installing Android Studio
- Flutter SDK
- Installing and Configuring the Flutter SDK
- Creating a New Flutter Project
- Setting up an Android Virtual Device
- Running a Flutter App
- Installing Flutter on Mac
- Testing Your Flutter App on an iOS Phone with Windows OS
- Android Studio Sugar and Spice
- Running Your Apps on a Hardware Device (Physical Phone)
- Running Your Flutter App on an Android Phone
- Running Your Flutter App on an 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 Applications
- Hot Reload and Hot Restart
- Stateful and Stateless Widgets
- Using 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
- Navigating to a New Screen and Back
- Navigating with Named Routes
- Sending and Returning Data Among Screens
- Animating a Widget Across Screens
- WebView Widget in Flutter
- Lab 6: Navigation and Routing for a Pizza Store Application
Lesson 7: Visual, Behavioural, and Motion-Rich Widgets Implementing Material Design Guidelines – Part 1
- Introduction
- BottomNavigationBar 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 Application Using BottomNavigationBar Navigation Technique.
- Lab B: Using the Built-in DataTable Sorting Function.
Lesson 8: Visual, Behavioural, and Motion-Rich Widgets Implementing Material Design Guidelines – Part 2
- Input and Selections
- TextField Widget.
- CheckboxGroup and RadioButtonGroup Widgets
- Date Picker
- Time Picker
- Slider Widget.
- Switch Widget.
- Dialogs, Alerts, and Panels
- AlertDialog Widget.
- CupertinoAlertDialog Widget.
- Bottom Sheet.
- Modal Bottom Sheet.
- Persistent Bottom Sheet.
- ExpansionPanel Widget.
- SnackBar Widget.
- Lab 8: Creating a Hotel Reservation Application
Lesson 9: Firebase
- Introduction
- What is JSON?
- How does the Firebase Database work?
- Firebase Authentication (Signing up and Logging in to the Flutter Application)
- Configuring Your Application to Use Firebase Services
- Adding Firebase to Your Android Application
- Adding Firebase to Your iOS Application
- Configuring Firebase Authentication
- Logging into an Application Using Firebase User Accounts
- Logout Configuration
- Firebase Database
- Which database is suitable for Your Project?
- Realtime Database
- Cloud Firestore
- Lab 9: Creating a User Profile Interface Using Firebase
Lesson 10: Location-Aware Applications: Using GPS and Google Maps
- Introduction
- What is GPS and how does it work?
- The Camera Position
- Adding Google Maps to a Flutter Application
- Obtaining a Google API Key
- Adding the Google Maps Flutter Plugin as a Dependency
- Adding Your API Key for Your Android Application
- Adding Your API Key for Your iOS Application
- Adding a Google Map to Your Flutter Application Screen
- Adding a Google Map Marker
- Google Map Types
- Moving the Camera (Camera Animation)
- Capturing an Application User’s Location for iOS and Android Applications.
- Lab 10: Location-Aware Applications Using GPS and Google Maps
- Obtaining a Google API Key
- Creating an Application Interface
- Configuring Your Application to Use Your API Key
- Adding a Google Map to Your Flutter Application Screen
- Adding a Google Map Marker
- Capturing Users’ Location
- Configuring User Application Permissions
Lesson 11: Application Testing and Publishing
- Testing and Feedback for Your Application
- Setting up a Test Environment
- Usability Testing by Participants
- Starting Your Test Session
- Analyzing Your Test
- Publishing Flutter Applications
- Publishing Android Applications on the Google Play Store
- Publishing iOS Applications on the Apple App Store
Testimonials (2)
The practicality of working in the flutter and dart environment
Chrisna Pienaar - Agricultural Research Council
Course - Flutter Application Development
Very well put together, excellent knowledge on the subjects