Flutter & Dart for Beginners

  • Beginner
  • Online Classes
  • Total 12 hours in class
  • Flutter & Dart for Beginners
  • Multi-Day Course
  • 1-6 learners per class


  • Basic programming language will help but is not a must-have
  • You can use either macOS, Windows or Linux for Android app development - iOS apps can only be built on macOS though. It's recommended to use macOS.
  • Xcode(version 14 recommended) to build and run on iOS app
  • Android Studio to build and run on Android app
  • Visual Studio Code
  • NO prior iOS or Android development experience is required
  • NO prior Flutter or Dart experience is required - this course starts at zero!

Request for Course Dates and Booking

Do you have a special training requirement or unable to find any suitable training date? Please complete and submit the booking request form, if you want to:

  • book a course on different dates
  • book for a group of delegates
  • book corporate training
  • book a customised training
  • book a one-on-one training

The price person is less when you book a course for more people. You can find the price per person and the total cost by changing the values of the training hours and the number of people below:

Class Details

A comprehensive introduction to Flutter for beginners. Starting with the fundamentals of Dart programming and moving into Flutter UI examples. This course will teach you Flutter and Dart from the ground up, with no prior knowledge required. Build iOS and Android apps with just one codebase. You'll learn the different approaches for loading and maintaining data in Flutter apps.

Flutter is a Cross-platform Mobile Development Framework created by Google, enabling developers to build beautiful native mobile apps for both iOS and Android with only one programming language - Dart. You don't need to learn Swift/Objective-C and Kotlin/Java to write apps for iOS and Android.

Course Outline

  1. Introduction to Flutter and Dart Programming Language
    • Introduction to the course
    • What is Flutter and Dart?
    • Why Flutter and Dart?
    • Writing Dart code
    • DartPad
    • Installing Dart SDK
    • Installing Dart IDE and Writing Dart Program
  2. Dart Programming - Syntax
    • The main( ) function
    • Dart Variables
    • Dart Data Types
    • Dart Conditional Operators
    • If Else and Logical Operators
    • For Loops
    • While Loops
    • Do-while Loops
    • Break Statement
    • Switch Case Statement
  3. Dart Functions & Object-Oriented Programming (OOP)
    • Functions
    • Function Structure
    • Creating a Function
    • Function Return Data
    • Void Function
    • Function Returning
    • Functions and Variable
    • Creating a Class
    • Adding Methods to Classes
    • Providing Constructors for Your Classes
    • Dart Project Structure and Dart Libraries
  4. Introduction To Development With Flutter
    • Understanding the Flutter Framework
    • Installing and Configuring Flutter SDK
    • Install Android Studio
    • Install the Android Emulator
    • Install Xcode and Command Line Tools
    • Test the iOS Simulator
    • Mac Installation Troubleshooting
    • Creating a New Flutter Project
    • Run your Flutter App on an Android Phone
    • Run your Flutter App on an iPhone Device
  5. Flutter Widgets Fundamentals
    • What is a MaterialApp widget?
    • Scaffold Widget
    • Image Widget
    • Container Widget
    • Column and Row Widgets
    • Icon Widget
    • Card Widget
    • App Icons for iOS and Android Apps
    • Hot Reload and Hot Restart
    • Stateful and Stateless Widgets
    • Use a Custom Font
  6. Navigation and Routing
    • Button Widget
    • App Structure and Navigation
    • Navigate to a New Screen and Back
    • Navigate with Named Routes
    • Send and Return Data Among Screens
    • Animate a Widget Across Screens
    • WebView Widget in Flutter
    • Lab: Navigation and Routing a Pizza Store App
  7. Visual, Behavioral, and Motion-Rich Widgets implementing Material Design Guidelines
    • Introduction
    • BottomNavigatorBar Widget
    • DefaultTabController, TabBar, and TabBarView
    • ListTile Widget
    • ListView Widget
    • Drawer Widget
    • DataTable Widget
    • SelectableText Widget
    • Stack Widget
    • Input and Selections
    • Dialogues, Alerts, and Panels
  8. Architecture and State Management
    • Understand why we need to manage the state across our widget tree
    • Learn about declarative vs. imperative programming
    • Look at how setState works under the hood
    • Learn about prop drilling and lifting state up
    • Create a Demo app
    • Learn about the BottomSheet widget and the ListViewBuilder. Understand Flutter app architecture design patterns
    • Learn to manage state with the Google-recommended Bloc package
  9. Powering Flutter Apps With Backend Data
    • Learn about asynchronous programming in Dart and understand how to use async/await and the Futures API. Understand Stateful Widget lifecycle methods.
    • Handling exceptions in dart with try/catch and throw. Use Dart null aware operators to prevent app crashes. Getting location data from both iOS and Android.
    • Using the http package to perform networking and get live data from open APIs.
    • Understanding how to parse JSON data using the dart:convert library.
    • Understand how to pass data to State objects via the Stateful Widget.
    • Use the TextField Widget to take user input.
    • Understand how to pass data backwards using the Navigator widget.
  10. Location-Aware Apps: Using GPS and Google Maps
    • Introduction
    • What is GPS and how does it work?
    • The Camera Position
    • Adding Google Maps to a Flutter app
  11. App Testing & Publishing
    • Testing and Feedback for Your App
    • Publishing Flutter Apps
    • Publishing Android App on Google Play Store
    • Publishing iOS app on Apple Store



Enamul Haque

Professional Mobile Application Developer
I'm a Mobile Application Developer and open-source technology enthusiast. I am very passionate about technology. I love staying up-to-date with...
View More...

Sourov Das

Expert Software Developer & Instructor
I am a passionate and determined mobile application developer with 5+ years of programming experience. My journey began with native Android developmen...
View More...


Subscribe to our newsletter

Sign up for our newsletter, so you can be the first to find out the latest news and tips about our classes, as well as general updates throughout the year.