Course Code: flutter123
Duration: 24 hours
Course Outline:

Overview

Objectives:

Upon completion of this training course, the delegate will be able to:

  • Build their own Cross Platform Application and upload it to the App Market.
  • Develop for simulators and real devices.
  • Learn all the basics of Flutter Development.

Duration

24 hours (6 days for 4 hours)

Prerequisites

Prior knowledge of C#,Java, JavaScrip, etc. 

Course Description

1ST

Chapter 1: An Introduction to Dart

Getting started with Dart

Understanding why Flutter uses Dart

Introducing the structure of the Dart language

Introduction to OOP in Dart

Chapter 2: Intermediate Dart Programming

Dart classes and constructors

Interfaces, abstract classes, and mixins

Understanding Dart libraries and packages

Introducing async programming with Futures and Isolates

Introducing unit testing with Dart

2nd

Chapter 3: An Introduction to Flutter

Comparisons with other mobile app development frameworks

Flutter compilation (Dart)

Flutter rendering

Widgets introduction

Hello Flutter

Chapter 4: Widgets: Building Layouts in Flutter

Stateful versus stateless widgets

Built-in widgets

Understanding built-in layout widgets

Creating a UI with widgets (favor manager app)

Creating custom widgets

Chapter 5: Handling User Input and Gestures

Handling user gestures

Input widgets

Validating Input (Forms)

Custom input and FormField

Putting it all together

Exercise 1 part 1: New Project

3rd

Chapter 6: Theming and Styling

Theme widgets

Material Design

iOS Cupertino

Using custom fonts

Dynamic styling with MediaQuery and LayoutBuilder

Chapter 7: Routing: Navigating between Screens

Understanding the Navigator widget

Named routes

Screen transitions

Hero animations

Exercise 1 part 2: UI

4th

Chapter 8: Developing Your Own Flutter Plugin

Creating a package/plugin project

A plugin project structure

Adding documentation to the package

Publishing a package

Plugin project development recommendations

Chapter 8: Accessing Device Features from the Flutter App

Launching a URL from the app

Managing app permissions

Importing a contact from the phone

Integrating the phone's camera

Exercise 1 part 3: Make It Work

5th

Chapter 10: Platform Views and Map Integration

Displaying a map

Adding markers to the map

Using the Gaode Map API

Chapter 11: Testing, Debugging, and Deployment

Flutter testing – unit and widget testing

Debugging Flutter apps

Profiling Flutter apps

Inspecting the Flutter widget tree

Preparing apps for deployment

Chapter 12: Improving User Experience

Accessibility in Flutter and adding translations to apps

Communication between native and Flutter with platform channels

Creating background processes

Adding Android-specific code to run Dart code in the background

Adding iOS-specific code to run Dart code in the background

Exercise 2 UI

Exercise 3 UI

6th

Chapter 13: Widget Graphic Manipulations

Transforming widgets with the Transform class

Exploring the types of transformations

Applying transformations to your widgets

Using custom painters and canvas

Chapter 14: Animations

Introducing Animations

Using animations

Using AnimatedBuilder

Using AnimatedWidget

Exercise 1 part 4: Release  & Hot-Patching

Course Exercises

Exercise 1: Qr Code scan & parse content and related web services API

Exercise 2: Multimedia App , Audio & Video recording & playing

Exercise 3: Location based App, Map and device location show