EIEIOTECHNOVATION
← Training programmes

EIEIO / PROGRAMMING & DEVELOPMENT

Flutter Application Development

Course outline

AFD-2004 days

Duration

4 days

Overview

This 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, list views, grid views and Firebase.

Programs you will write:

About Me - an app that displays your personal information

Light - a simple flashlight app

Recipes - an app that displays recipes

Fooderlich - a food app

A Flutter app that uses Firebase for data storage

Course Objectives

Upon completion of this program, participants should be able to:

Create a reasonably complex Flutter application, using widgets, animation, Material design, list views, grid views and Firebase. You'll also learn how to publish your apps to the Apple App Store and the Google Play Store.

Course Pre-requisites

Knowledge of a programming language is recommended

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

References

Day 1 - Using Dartpad

  • 1. A Dart tour
  • Hello World
  • Variables
  • Control flow statements
  • Functions
  • Comments
  • Imports
  • Classes
  • Inheritance
  • Mixins
  • Interfaces and abstract classes
  • Async
  • Exceptions
  • 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

Lunch

  • 3. Implicit animations
  • What are implicit animations?
  • Example: Fade in text effects
  • Example: Shape-shifting effect
  • Using animation curves
  • 4. The About Me app
  • App basics
  • Adding widgets
  • Adding the Scaffold widget
  • Adding Text widgets
  • Styling Text widgets
  • Adding Images

Tea break

  • Test IDE
  • Show the folders in the sample app
  • Sign up for Flutter Apprentice

Day 2 - Using Android Studio or VSCode

  • 5. The Light app
  • Using cupertino.dart
  • Adding a stateless widget
  • Adding a button
  • Changing the background color
  • Stateful widgets
  • the setState() function
  • 6. The Recipes app
  • Creating a new app
  • Making the app yours
  • Clearing the app
  • Building a recipe list
  • Adding a recipe detail page

Challenge: Customize the Recipes app with local food

Lunch

  • 7. Basic Widgets
  • Getting started
  • Styling your app
  • Setting a theme
  • App structure and navigation
  • Creating custom recipe cards

Challenge: Build your first Flutter app part 1 and 2

Day 3

  • 8. Understanding Widgets
  • What is a widget
  • Unboxing Card2
  • Rendering widgets
  • Getting started with Dev Tools
  • Types of widgets
  • 9. Scrollable Widgets
  • Getting started
  • Introducing ListView
  • Setting up the Explore screen
  • Creating a FutureBuilder
  • Building Recipes of the Day
  • Nested ListViews
  • Creating the ListView for friends' posts
  • Adding final touches to the Explore screen
  • Getting to know GridView
  • Building the Recipes screen
  • Other scrollable widgets
  • Challenges

Assignment: Networking Cookbook (fetching data, JSON parsing)

  • 10. Interactive widgets
  • Getting started
  • Creating the grocery item model
  • Creating the Grocery screen
  • Creating the empty Grocery screen
  • Switching tabs
  • Managing tab state
  • Managing the grocery items
  • Adding new packages
  • Creating the screen to add grocery items
  • Creating a grocery tile
  • Building GroceryTile
  • Finishing GroceryTile
  • Saving the user's work
  • Creating GroceryListScreen
  • Adding gestures
  • Dismissing items with a swipe

Assignment: Persistence Cookbook (SQLite)

Day 4

  • 13. 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

Assigment: Google Maps in Flutter

  • 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
  • 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

Other useful links:

Flutter Telegram group

Programme scope, delivery arrangements and suitability are confirmed during enquiry.