Flutter Beginner (P1001)


Introduction

Flutter – a simple and high-performance framework based on Dart language, provides high performance by rendering the UI directly in the operating system’s canvas rather than through a native framework. Flutter also offers many ready-to-use widgets (UI) to create a modern application. These widgets are optimized for the mobile environments and designing the application using widgets is as simple as designing HTML.

What you will learn

This course is for beginners to Flutter and assume students have some basic background of programming language knowledge (other than dart / flutter). This course will cover the following core topics:

  • Introduction to dart
  • Introduction to flutter
  • Development environment
  • Widgets
  • Widgets composition
  • Dart basic
  • Sample of real-world application development

Course Duration : 3 days

 

1.0 Introduction to the course

1.1   What is flutter
1.2   Why flutter
1.3   The Anatomy of a Flutter App
1.4   How to Get the Most Out of the Course
1.5   Join the Student Community
 

2.0 Installation

2.1   Windows Setup Step 1 - Install the Flutter SDK
2.2   Windows Setup Step 2 - Install Android Studio
2.3   Windows Setup Step 3 - Install the Android Emulator
2.4   Windows Installation Troubleshooting
2.5   Configure Android Studio for Flutter Development
2.6   Guided Tour of Android Studio for Flutter Development
 

3.0 Creating a New Flutter Project from Scratch

3.1   A quick note about Hot Reload
3.2   Scaffolding a Flutter App
3.3   Working with Assets in Flutter & the Pubspec file
3.4   How to Add App Icons to the iOS and Android Apps
3.5   How to Ace this Course
3.6   Deploying Your Flutter Apps to a Physical Device
3.7   Deploying Flutter Apps to an Android Phone
3.8   Deploying Flutter Apps to iPhones/iPads
3.9   What are App Challenges?
 

4.0 The I Am Poor Challenge

4.1  Show Off Your Work!
4.2  Do You Want This?

 

5.0 MiCard - A Single Screen Personal Business Card App

5.1   Hot Reload and Hot Restart - Flutter Power Tools
5.2   How to Use Container Widgets
5.3   How to use Column & Row Widgets for Layout
5.4   Flutter Layouts Challenge
5.5   Tapping into Widget Properties
5.6   Incorporating Custom Fonts in Your Flutter App
5.7   Adding Material Icons with the Icon Widget
5.8   Flutter Card & ListTile Widgets
5.9   Download the Completed Project
 

6.0 Dicee - A Stateful Dice App

6.1      Using the Expanded Widget to Create Flexible Layouts
6.2      How to Use Intention Actions
6.3      Adding Gesture Detection with Flutter Button Widges
6.4      Making the Dice Image Change Reactively
6.5      [Dart] Variables
6.6      [Dart] Data Types
6.7      Stateful vs. Stateless Widgets - What's the Difference?
6.8      Randomising the Dice
6.9     Challenge 1 Solution
6.10   Challenge 2 Solution
6.11   Challenge 3 Solution
6.12   Download the Completed Project
 

7.0 Magic 8 Ball - A Decision Making App

7.2   Step 1 - Set Up The Project
7.2   Step 2 - Create a Stateless Widget
7.3   Step 3 - Create a Stateful Widget
7.4   Step 4 - Make it Interactive
7.5   Step 5 - Randomise it
7.6   Step 6 - Update the State
7.7   Customise It!

8.0 Xylophone - A Simple Musical Instrument App

8.1    What are Flutter & Dart Packages?
8.2    How to Play Sound Across Platforms
8.3    How to Play Multiple Sounds
8.4    [Dart] Functions - Part 2
8.5    Updating the UI of Our App
8.6    [Dart] Functions - Part 3
8.7    [Dart] Functions Challenge
8.8    Refactoring Our App
8.9    [Dart] Arrow Functions
8.10  Customise It!
8.11  Download the Completed Project
 

9.0 Building a Score Keeper

9.1    [Dart] Lists
9.2    Displaying the Questions
9.3    Checking User Answers
9.4    [Dart] Conditionals - IF/ELSE
9.5    More Dart Programming Challenges
9.6    Creating a Question Class
9.7    [Dart] Classes and Objects
9.8    Abstraction in Action
9.9    Encapsulation in Action
9.10  Inheritance in Action
9.11  Polymorphism in Action
9.12  Adding Back the Score Keeper
9.13  Code Challenge
9.14  [Dart] Class Constructors
9.15  Download the Completed Project