Course Outline
Lesson 1: Introduction to Flutter and the Dart Programming Language
- Introduction
- The Significance of Flutter
- Overview of Dart
- Writing Code in Dart
- DartPad
- Installing the Dart SDK
- IntelliJ IDEA
- Lab 1: Setting Up the Dart IDE and Writing a Dart Program
- Installing IntelliJ IDEA
- Creating a Dart Project in IntelliJ IDEA
- Utilizing DartPad
Lesson 2: Dart Programming Syntax
- Introduction
- 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 Statements
- If-Else with 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 and Object-Oriented Programming (OOP)
- Functions
- Function Structure
- Creating a Function
- Function Return Data Types
- Void Function
- Functions Returning Expressions
- Functions and Variable Scope
- Object-Oriented Programming (OOP)
- Object
- Class
- Creating a Class
- Adding Methods to Classes
- Defining Constructors for Your Classes
- Class Getters and Setters
- Class Inheritance
- Abstract Class
- Dart Project Structure and Libraries
- Lab 3: Developing 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 Features
- Running Apps on a Physical Device
- Running Your Flutter App on an Android Phone
- Running Your Flutter App on an iPhone
- Emulator Debug Mode
- Introduction to Flutter Widgets
- Creating a Flutter App Using Widgets
- Understanding the MaterialApp Widget
- Lab 4: Creating a Simple Flutter App
Lesson 5: Fundamentals of Flutter Widgets
- Scaffold Widget
- Image Widget
- Container Widget
- Column and Row Widgets
- Icon Widget
- Layouts in Flutter
- Card Widget
- App Icons for iOS and Android
- Hot Reload and Hot Restart
- Stateful and Stateless Widgets
- Using Custom Fonts
- 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 Between Screens
- Animating a Widget Across Screens
- WebView Widget in Flutter
- Lab 6: Implementing Navigation and Routing in a Pizza Store App
Lesson 7: Visual, Behavioral, 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 App Using BottomNavigationBar Navigation
- Lab B: Utilizing the Built-in DataTable Sorting Function
Lesson 8: Visual, Behavioral, 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
- Cupertino Alert Dialog Widget
- Bottom Sheet
- Modal Bottom Sheet
- Persistent Bottom Sheet
- ExpansionPanel Widget
- SnackBar 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
- Integrating Firebase into Your Android App
- Integrating Firebase into Your iOS App
- Configuring Firebase Authentication
- Logging In to an App Using Firebase User Accounts
- Logging Out Configuration
- Firebase Database
- Choosing the Right Database for Your Project
- Realtime Database
- Cloud Firestore
- Lab 9: Creating a User Profile Interface Using Firebase
Lesson 10: Location-Aware Apps: Utilizing 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 Plugin 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
- Lab 10: Developing 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' Locations
- Configuring User App Permissions
Lesson 11: App Testing and 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