Flutter is an open-source UI software development kit created by Google. It is used to develop applications for Android, iOS, Linux, Mac, Windows, Google Fuchsia, and the web from a single codebase. The first version of Flutter was known as codename "Sky" and ran on the Android operating system.
Introduction To Dart Programming
1. Learn to set up Environment
3. Data Types
7. Decision Making
Introduction To Development With Flutter
1. Learn to set up a new Flutter project using Android Studio.
2. Understand the Widget tree and learn to use pre-made Flutter
3. Widgets for user interface design.
4. Learn to incorporate Image and Text Widgets to create simple user interfaces.
5. Learn how to add and load image assets to Flutter projects.
6. Run Flutter apps on Android Emulator and physical devices.
Creating Beautiful With Flutter For Beginners
1) Use Hot Reload and Hot Restart to quickly refresh the app UI and understand when to
2) Learning to use the Pubspec.yaml file to incorporate dependencies, custom assets and
3) An introduction to the Widget build() method.
4) Learning to use layout widgets such as Containers and Cards.
5) Incorporating Material icons using the Icons class.
Building Apps With State
1) Understand the difference between Stateful and Stateless Widgets and when they
should each be used.
2) Understand how callbacks can be used to detect user interaction in button widgets.
3) Learn to import dart libraries to incorporate additional functionality.
4) Learn about how variables, data types and functions work in Dart 2.
5) Understand the relationship between setState(), Stateobjects and Stateful Widgets.
Leveraging Flutter Packages To Speed Development
1) Learn to use the Dart package manager to incorporate Flutter compatible packages into
2) Learn more about functions in Dart and the arrow syntax.
3) Learn to refactor widgets and understand Flutter's philosophy of UI as code.
Structuring Flutter Apps
1) Learn about how lists and conditionals work in Dart.
2) Learn about classes and objects in Dart and how it applies to Flutter widgets.
3) Understand Object Oriented Dart and how to apply the fundamentals of OOP to
restructuring a Flutter app.
4) Learn to use Dart Constructors to create customisable Flutter widgets.
5) Apply common mobile design patterns to structure Flutter apps.
6) Learn about structuring and organising Flutter apps.
Powering Flutter App With Backend Data
1) Learn about asynchronous programming in Dart and understand how to use async/await
and the Futures API.
2) Understand Stateful Widget lifecycle methods.
3) Handling exceptions in dart with try/catch and throw.
4) Use Dart null aware operators to prevent app crashes.
5) Getting location data from both iOS and Android.
6) Using the http package to perform networking and get live data from open APIs.
7) Understanding how to parse JSON data using the dart:convert library.
8) Understand how to pass data to State objects via the Stateful Widget.
9) Use the TextField Widget to take user input.
10) Understand how to pass data backwards using the Navigator widget.
Cupertino Widgets And Platform - Based UI
1) Learn to use the Cupertino package and build Flutter apps for iOS with UIKit styled
2) Use the dart:io library to detect runtime platforms and create separate UIs for iOS and
Android in the same Flutter app.
3) Learn to use Dart loops to create recurring widgets.
1) Understand why we need to manage state across our widget tree.
2) Look at how setState works under the hood.
3) Learn about prop drilling and lifting state up.
4) Learn about the BottomSheet widget and the ListViewBuilder.
5) Understand Flutter app architecture design patterns.
6) Learn to manage state with the Google recommended Provider package.