Course Outline
Lesson 1: Introduction to Flutter and Dart Programming Language
- Overview
- The significance of Flutter
- Introduction to Dart
- Writing code in Dart
- Using DartPad
- Installing the Dart SDK
- Utilizing IntelliJ IDEA
- Lab 1: Setting up the Dart IDE and Writing a Dart Program
- Installing IntelliJ IDEA
- Creating a Dart Project with IntelliJ IDEA
- Exploring DartPad
Lesson 2: Dart Programming Syntax
- Overview
- The main( ) function
- Dart Variables
- Dart Data Types
- Handling Input in Dart Programs
- Writing Comments
- Conditional Operators in Dart
- The If Statement
- The If-Else Statement
- Nested If-Else and Else-If Structures
- Logical Operators in If-Else Contexts
- For Loops
- While Loops
- Do-While Loops
- Using the Break Statement
- Switch Case Statement
- Lab 2: Developing a Pizza Order Program
Lesson 3: Dart Functions and Object-Oriented Programming (OOP)
- Functions
- Function Structure
- Defining a Function
- Return Data Types
- Void Functions
- Functions Returning Expressions
- Function and Variable Scope
- Object-Oriented Programming (OOP)
- Objects
- Classes
- Defining a Class
- Adding Methods to Classes
- Implementing Constructors for Classes
- Getters and Setters in Classes
- Class Inheritance
- Abstract Classes
- Dart Project Structure and Libraries
- Lab 3: Building a Simple Overtime Payment Program
Lesson 4: Introduction to Flutter
- Understanding Flutter
- The Flutter Framework
- Android Studio
- What is Android Studio?
- Prerequisites for Android Studio Software
- 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 Application
- Installing Flutter on Mac
- Testing Your Flutter App on an iOS Device Using Windows OS
- Android Studio Features
- Running Your Apps on Physical Hardware
- Running Your Flutter App on an Android Phone
- Running Your Flutter App on an iPhone
- Debug Mode in Emulators
- Introduction to Flutter Widgets
- Building a Flutter App with Widgets
- Understanding the MaterialApp Widget
- Lab 4: Building a Simple Flutter App
Lesson 5: Fundamentals of Flutter Widgets
- Scaffold Widget
- Image Widget
- Container Widget
- Column and Row Widgets
- Icon Widget
- Flutter Layouts
- Card Widget
- App Icons for iOS and Android
- Hot Reload and Hot Restart
- Stateful vs. Stateless Widgets
- Implementing 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
- Passing and Returning Data Between Screens
- Animating a Widget Across Screens
- WebView Widget in Flutter
- Lab 6: Implementing Navigation and Routing for a Pizza Store App
Lesson 7: Visual, Behavioral, and Motion-Rich Widgets: Material Design Guidelines - Part 1
- Overview
- BottomNavigationBar Widget
- DefaultTabController, TabBar, and TabBarView Widgets
- ListTile Widget
- ListView Widget
- Drawer Widget
- DataTable Widget
- SelectableText Widget
- Stack Widget
- Lab 7
- Lab A: Developing a Flutter App Using BottomNavigationBar Navigation
- Lab B: Utilizing Built-in DataTable Sorting
Lesson 8: Visual, Behavioral, and Motion-Rich Widgets: Material Design Guidelines - Part 2
- Inputs 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: Building a Hotel Reservation App
Lesson 9: Firebase
- Overview
- Understanding JSON
- How the Firebase Database Operates
- Firebase Authentication (Sign-up and Login for Flutter Apps)
- Configuring Your App for Firebase Services
- Integrating Firebase into Your Android App
- Integrating Firebase into Your iOS App
- Setting Up Firebase Authentication
- Login to an App Using Firebase User Accounts
- Configuring Logout Functionality
- 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: Using GPS and Google Maps
- Overview
- Understanding GPS and Its Functionality
- 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 the Android App
- Adding Your API Key for the iOS App
- Displaying 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
- Lab 10: Building Location-Aware Apps Using GPS and Google Maps
- Obtaining a Google API Key
- Designing the App Interface
- Configuring Your App to Use Your API Key
- Displaying a Google Map on Your Flutter App Screen
- Adding a Google Map Marker
- Capturing Users’ Location
- Configuring User App Permissions
Lesson 11: App Testing and Publishing
- Testing and Gathering Feedback for Your App
- Setting Up a Test Environment
- Usability Testing by Participants
- Starting Your Test Session
- Analyzing Your Test Results
- Publishing Flutter Apps
- Publishing Android Apps on the Google Play Store
- Publishing iOS Apps 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