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 (4)
Miguel's knowledge of the subject was extensive. He made the training easy to understand and the flow was balanced; adding on to each section with new features as needed. He covered everything that was asked and answered each and every question thoroughly. It was a very pleasant experience.
Paul Coaton - SEMPCheck Services
Course - Flutter Development Bootcamp with Dart
I really liked and appreciated how Renee adapted to our questions, on the fly looking for examples of things we asked and sharing examples via WeChat. Not only did she do this, she went out of her way to include screenshots of what to click/where things were given that we did not speak Chinese. It was a collaborative session with Renee pausing so we could ask questions, and allowing us to go slightly off topic sometimes so we got the most out of the session.
Ellie Bailes - GBR 402 GP Strategies Limited
Course - WeChat Marketing
The trainer was enthusiastic, kind, and loved the topic
Isaac Murphy - Royal New Zealand Airforce
Course - Build Native iOS and Android Apps with Flutter
Learning the steps required to implement the MVVM model.