Mobile Development with Flutter
IPA-F101
Google's Flutter is an open-source user interface software development kit. It is used to create cross-platform applications from a single codebase for Android, iOS, Linux, Mac, Windows, Google Fuchsia, and the web.
Training Duration: 4 Days
System Requirements
A Mac computer running macOS 10.15 Catalina or 11.0 Big Sur
OR
A Windows computer running Windows 10 or higher
VSCode 1.54.x or higher
Android Studio 4.1.x or higher
Xcode 12.x or higher
The Programs That You Will Write
Startup Name Generator - a simple app that generates proposed names for a startup company.
Shrine - an e-commerce app that sells clothing and home goods.
An app that uses SQLite to persist data
An app integrated with Google Maps
An app integrated with Firebase
OVERVIEW
This IPA-F101: Mobile Development with Flutter course is an introduction to Flutter application development. It covers how to create and compile projects using VSCode or Android Studio, basics of the Dart language and uploading the completed app on the Apple App Store and the Google Play Store.
During this course, you will create a reasonably complex Flutter application. In the process, you will learn about widgets, animation, Material design, data persistence, API integration, authorization and remote storage.
OBJECTIVES
Upon completion of this program, participants should be able to:
Create a reasonably complex Flutter application, using widgets, animation, Material design, data persistence, API integration, Authorization and remote storage.
PREREQUISITES
Knowledge of a programming language is recommended.
AUDIENCE
This program is targeted for experienced developers with no programming experience in Android and iOS Development
COURSE MODULES
Module 1: A Dart Tour
Hello World
Variables
Control flow statements
Functions
Comments
Imports
Classes
Inheritance
Mixins
Interfaces and abstract classes
Async
Exceptions
Module 2: Basic Flutter Layout concepts
Row and column classes
Axis size and alignment
Flexible widget
Expanded widget
Sizedbox widget
Spacer widget
Text widget
Icon widget
Image widget
Putting it all together
Module 3: Implicit Animations
What are implicit animations?
Example: Fade in text effects
Example: Shape-shifting effect
Using animation curves
Module 4: Write Your First Flutter App, PART 1
Create the starter Flutter app
Use an external package
Add a stateful widget
Create an infinite scrolling ListView
Module 5: Write Your First Flutter App, Part 2
Add icons to the list
Add interactivity
Navigate to a new screen
Change the UI using themes
Module 6: Building Beautiful UIs With Flutter (SELF-PACED)
Start a new Flutter project
Build the main user interface
Add a UI for composing messages
Debug your app
Add a UI for displaying messages
Animate your app
Apply finishing touches
Module 7: Material Components Basics
Introduction
Add Textfield widgets
Add buttons
Module 8: Material Structure And Layout
Introduction
Add a top app bar
Add a card in a grid
Make a card collection
Module 9: Material Theming with Color, Shape, Elevation, and Type
Introduction
Change the colors
Modify typography and label styles
Adjust elevation
Add Shape
Change the layout
Try another theme
Module 10: Material Advanced Components
Add the backdrop menu
Add a shape
Add motion
Add a menu on the back layer
Add a branded icon
Module 11: Persist Data With SQLite
Add the dependencies.
Define the Dog data model.
Open the database.
Create the dogs table.
Insert a Dog into the database.
Retrieve the list of dogs.
Update a Dog in the database.
Delete a Dog from the database.
Module 12: API Integration - Adding Google Maps to a Flutter app
Getting Started
Adding Google Maps to the app
Put Google on the Map
Module 13: Authorization Services - Get to know Firebase for Flutter
Create and set up a Firebase project
Firebase configuration
Add user sign in
Write messages to Cloud Firestore
Read messages
Setup basic security rules
Module 14: Build and release an Android app
Adding a launcher icon
Enabling Material Components
Signing the app
Shrinking your code with R8
Reviewing the app manifest
Reviewing the build configuration
Building the app for release
Publishing to the Google Play Store
Updating the app’s version number
Module 15: Build and release an iOS app
Preliminaries
Register your app on App Store Connect
Register a bundle ID
Create an application record on App Store Connect
Review Xcode Project settings
Updating the app’s deployment version
Updating the app’s version number
Add an app icon
Create a build archive with Xcode
Release your app on TestFlight
Release your app to the App Store