EIEIOTECHNOVATION
← Training programmes

EIEIO / PROGRAMMING & DEVELOPMENT

Mobile Apps Development using Flutter

Course outline

5 days

Duration

5 days

Overview

Flutter - a framework developed by Google - allows you to learn one language (Dart) and build beautiful native mobile apps in no time. Flutter is a SDK providing the tooling to compile Dart code into native code and it also gives you a rich set of pre-built and pre-styled UI elements (so called widgets) which you can use to compose your user interfaces.

This course will teach Flutter & Dart from scratch, NO prior knowledge of either of the two is required! And you certainly don't need any Android or iOS development experience since the whole idea behind Flutter is to only learn one language.

What You’ll Learn

Here's what's included in the course:

  • Detailed setup instructions for both macOS and Windows
  • A thorough introduction to Flutter, Dart and the concept behind widgets
  • An overview of the built-in widgets and how you may add your own ones
  • Debugging tips & tricks
  • Page navigation with tabs, side drawers and stack-based navigation
  • State management solutions
  • Handling and validating user input
  • Connecting your Flutter app to backend servers by sending Http requests
  • And more!

Course prerequisites

  • Basic programming language knowledge will help a lot but is not a hard requirement
  • You DON'T need to know Flutter or Dart
  • You DON'T need to know iOS (Swift/ObjectiveC) or Android (Java)

Course Outline

Getting Started with Flutter

  • Why develop Android and iOS apps using Flutter?
  • Flutter Installation for Windows, Mac OS and Linux ( ubuntu )

Creating your First Flutter Application

  • Create First Flutter Application: Flutter Dart Tutorial
  • First Flutter Application using Dart: Continued
  • Organize your code
  • Adding Logic

Dart Basics

  • Introduction to Dart
  • Dart Fundamentals

Building an App From Scratch

  • Running the App on an Emulator
  • Class Constructors & Named Arguments
  • First Summary & Additional Syntax
  • Flutter App Basics

Widgets

  • Visible (Input / Output) & Invisible (Layout / Control) Widgets
  • Adding Layout Widgets
  • Connecting Functions & Buttons
  • Anonymous Functions
  • Updating Widget Data (Or: Using StatelessWidget Incorrectly)
  • Understanding Lists
  • Updating Correctly with Stateful Widgets
  • Stateful & Stateless Widgets

A Brief Look Under The Hood

  • Using Private Properties
  • Creating a New, Custom Widget
  • First Styling & Layouting Steps
  • Enums & Multiple Constructors
  • Official Docs & The Widget Catalog
  • Styling Buttons
  • Passing Callback Functions Around

Introducing Maps

  • Mapping Lists to Widgets
  • final vs const
  • Advanced Flutter & Dart Basics
  • Introducing "if" Statements
  • [DART DEEP DIVE] More on "if" Statements
  • [DART DEEP DIVE] The "null" Value
  • Outputting Widgets Conditionally

Creating A Multiple Screens App

  • Planning the App
  • Starting With The App - Adding Base Data
  • Creating a Grid & Working with Linear Gradients
  • Registering a Screen as the Main Screen
  • Styling & Theming
  • Navigating to a New Page
  • Passing Data via the Constructor
  • Using Named Routes & Passing Data With Named Routes
  • Screens & Navigation

Diving Deeper into Named Routes

  • Adding a Meal Model & Data
  • Selecting Meals for a Chosen Category
  • Displaying Recipe Items & Using Network Images
  • Finishing the Meal List Item
  • Navigating to the Meal Detail Page
  • onGenerateRoute & onUnknownRoute
  • More Navigation!

Finishing the Meal Detail Page

  • Adding a TabBar to the Appbar
  • Adding a Bottom TabBar
  • Adding a Custom Drawer
  • Adding Links to the Drawer
  • Tabs & Drawers!
  • Replacing Pages (Instead of Pushing)
  • Popping Pages & Passing Data Back
  • Replacing, Popping & Data

Adding Filter Switches

  • Adding Filtering Logic
  • Adding a "Mark as Favorite" Feature

PUBLISHING APP

  • Publishing Android Apps
  • Preparing the Code
  • Preparing the App Configuration
  • Preparing Third-Party Services
  • Adding Icons & Splash Screens

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