Course Outline
Lesson 1: Overview of Flutter and the Dart Programming Language
- Overview
- The Value of Flutter
- Getting to Know Dart
- Writing Code in Dart
- DartPad
- Setting up the Dart SDK
- IntelliJ IDEA
- Lab 1: Setting up the Dart IDE and Writing a Dart Program
- Installing IntelliJ IDEA
- Establishing a Dart Project with IntelliJ IDEA
- Utilizing DartPad
Lesson 2: Dart Programming - Syntax
- Overview
- The 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... Statement
- If Else and Logical Operators
- For Loops
- While Loops
- Do-while Loops
- Break Statement
- Switch Case Statement
- Lab 2: Developing 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: Developing a Small Overtime Payment Program
Lesson 4: Introduction to Flutter
- Understanding Flutter
- Flutter Framework
- Android Studio
- What is Android Studio?
- Software Prerequisites for Android Studio
- Installing Android Studio
- Flutter SDK
- Installing and Configuring 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 Device Using Windows O.S
- 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 Apps
- 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
- Send and Return Data Among Screens
- Animate a Widget Across Screens
- WebView Widget in Flutter
- Lab 6: Navigation and Routing for 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 the 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 JSON?
- How does the Firebase Database work?
- Firebase Authentication (Signing up and Logging in to a Flutter App)
- Configuring Your App to Use Firebase Services
- Adding Firebase to Your Android App
- Adding Firebase to Your iOS App
- Configuring Firebase Authentication
- Logging into an App Using Firebase User Accounts
- Logout Configuration
- Firebase Database
- Choosing the Right Database 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
- Integrating Google Maps into a Flutter App
- Obtaining a Google API Key
- Adding the 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 to 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
- Obtaining a Google API Key
- Creating an App Interface
- Configuring Your App to Use Your API Key
- Adding a Google Map to Your Flutter App Screen
- Adding a Google Map Marker
- Capturing Users’ Location
- Configuring User App Permissions
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 an Android App on the Google Play Store
- Publishing an iOS App on the Apple 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