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.