Flutter & Dart App development course

Flutter & Dart App development

Flutter is the new cross-platform mobile app development framework created by Google that allows developers to build Android and iOS apps using a single codebase, and it is the best way to develop cross-platform apps, which would otherwise require two distinct mobile development teams.

Course Overivew

Flutter development Course teaches you how to code using Dart and build beautiful, fast, native-quality iOS and Android apps.

Flutter is an open-source UI framework created by Google for creating high-quality iOS and Android apps.

Learn how to use Flutter to rapidly develop a mobile app that runs on both iOS and Android devices.

By the end of this training, participants will be able to:

  • Quickly install the framework, IDE and other tooling to start developing
  • Understand and use Google’s Dart language to quickly prototype a mobile app
  • Test and deploy mobile apps that run on both iOS and Android using a single code base
  • Customize the app using a rich set of widgets, layouts and animations


Read More
Read Less
Course Benefits:

Introduction to Development with Flutter

  • Learn to set up a new Flutter project using Android Studio.
  • Understand the Widget tree and learn to use pre-made Flutter Widgets for user interface design.
  • Learn to incorporate Image and Text Widgets to create simplemuser interfaces.
  • Learn to incorporate App Icons for iOS and Android.
  • Learn how to add and load image assets to Flutter projects.
  • Run Flutter apps on iOS Simulator, Android Emulator and physical devices

Creating UI with flutter

  • Use Hot Reload and Hot Restart to quickly refresh the app UI and understand when to use each.
  • Learning to use the Pubspec.yaml file to incorporate dependencies, custom assets and fonts.
  • An introduction to the Widget build() method.
  • Learning to use layout widgets such as Columns, Rows, Containers and Cards.
  • Incorporating Material icons using the Icons class.

Building Apps with State

  • Understand the difference between Stateful and Stateless Widgets and when they should each be used.
  • Understand how callbacks can be used detect user interaction in button widgets.
  • Understand the declarative style of UI programming and how Flutter widgets react to state changes.
  • Learn to import dart libraries to incorporate additional functionality.
  • Learn about how variables, data types and functions work in Dart 2.
  • Build flexible layouts using the Flutter Expanded widget.
  • Understand the relationship between setState(), State objects and Stateful Widgets.

Leveraging Flutter Packages

  • Learn to use the Dart package manager to incorporate Flutter compatible packages into your projects.
  • Understanding the structure of the pubspec.yaml file.
  • Incorporate the audioplayers package to play sound.
  • Learn more about functions in Dart and the arrow syntax.
  • Learn to refactor widgets and understand Flutter’s philosophy of UI as code.

Structuring Flutter Apps

  • Learn about how lists and conditionals work in Dart.
  • Learn about classes and objects in Dart and how it apply to Flutter widgets.
  • Understand Object Oriented Dart and how to apply the fundamentals of OOP to restructuring a Flutter app.
  • Learn to use Dart Constructors to create customisable Flutter widgets.
  • Apply common mobile design patterns to structure Flutter apps.
  • Learn about structuring and organising Flutter apps.

Creating Beautiful UI with Flutter

  • Customize apps with Theme widgets.
  • Refactoring widgets by extracting them as separate Widget classes.
  • Learn about Dart annotations and modifiers.
  • Understand the immutability of Stateless and Stateful Widgets and how the screen is updated with the build() method.
  • Create custom Flutter Widgets by combining smaller widgets.
  • Learn about the difference between final and const in Dart.
  • Learn about maps, enums and the ternary operator in Dart.
  • Understand that functions are first class objects in Dart and how functions can be passed around as arguments.
  • Learn to build multi-screen Flutter apps by learning about routes and the Navigator widget.
  • Understand why flutter favours composition vs. inheritance when customising widgets.

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.

Cupertino Widgets and Platform based UI

  • Learn to use the Cupertino package and build Flutter apps for iOS with UIKit styled Cupertino widgets.
  • Use the dart:io library to detect runtime platform and create separate UIs for iOS and Android in the same Flutter app.
  • Learn to use Dart loops to create recurring widgets.

Integrating Flutter App with Firebase

  • Learn to use hero animations in Flutter apps.
  • Understand how the animation controller works and create custom animations.
  • Learn to use Dart mixins to extend class functionality.
  • Incorporate Firebase Cloud Firestore into your Flutter apps.
  • Implement authentication in your Flutter apps with the Firebase Auth package.
  • Build a scrolling ListView widget to learn how Flutter creates and destroys reusable elements.
  • Understand Dart Streams to listen to data changes.
  • Learn to use the Flutter StreamBuild to turn streams of data into widgets that can be rendered.
  • Flutter vs other cross-platform frameworks
  • Installing Flutter
  • Overview of Flutter Features and Architecture
  • Choosing an IDE
  • Using the Dart Programming Language
  • Creating an Application
  • Using Templates and Scaffolding
  • Working with Widgets (Stateless vs Stateful)
  • Creating the User Interface
  • Reloading the App while Maintaining State (Hot Reloading)
  • Customizing the App with Layouts, Painting, and Animation
  • Adding Packages and Plugins
  • Accessing the Native Platform’s APIs
  • Testing the Appp
  • Troubleshooting


This course is available at :

Classroom Training


Online Training

Virtual Interactive Instructor LED
Self-Paced Training



We have been in the market since 1995, and we kept accumulating experience in the training business, and providing training for more than 100,000 trainees ever since, in Egypt, and the MENA region.

Premium Facilities

CLS facilities are well-equipped with strong hardware and software technologies that aid both students and trainers lead very effective smooth training programs.

Customer Support

We provide our clients with the best solutions, customized to their specific needs and goals. Our team is highly qualified to answer whatever questions you have.

Global Accredited

CLS is an authorized and accredited partner by technology leaders. This means that our training programs are of the highest quality source materials.

Up To Date

We keep tabs on every change in the market and the technology field, so our training programs will always be updated up to the World-class latest standards, and adapted to the global shape-shifting job market.

Certified Instructors

We select the best instructors, who are certified from trustworthy international vendors. They share their professional experience with the Trainees, so they can have a clear hands-on experience.

Over 200,000 Gradutes From CLS

Play Video
Amr Mostafa
An employee of the Security Department at the Ministry of Electricity

I`m attending now CEH Training with Eng Mohamed Hamdy ,CISSP Training with Eng Mohamed Gohar, I really learned a lot from him , everything here in CLS  is very satisfying including facilities .

Play Video
Lamiaa Medhat

We took a series of courses as the digital Transformation Unit of the ministry . we just finished CRISC Certification Training with DR Adel Abdel Meneim . Thank you CLS for all your efforts, we really appreciate it

Play Video
Ahmed Salah
Senior Cyber Security Engineer

Me and my colleagues are working in a government Organization, We took a no. of cyber security trainings with CLS starting with CEH and CISSP. we liked every thing the instructors, the stuff and whole environment

Play Video
Ferras Hassan
Head of the Programming Department at Bashayer Energy Company

I`m attending ASP.NET Core with MVC Training with Eng Mohamed Hesham , I really learned a lot from him , everything here in CLS  is very satisfying including facilities .Thanks you all team.

Play Video
Mohamed Ahmed Ali
Systems management specialist

Qualifying the cadres of digital transformation units in government agencies moving to the administrative capital .Thanks CLS

Play Video
Zeinab Salah
Software Developer at Bashayer Energy Company

I`m attending ASP.NET Core with MVC Training with Eng Mohamed Hesham , I really learned a lot from him , everything here in CLS  is very satisfying including facilities .Thanks you all team.

Play Video
Ibrahim Khalaf
IT Infrastructure and Security Manger

I`m attending now CRISC Training with DR Adel Abdel Meneim , I really learned a lot from him , everything here in CLS  is very satisfying including facilities , locations and the team.

Play Video
Samar Shams ElDin
Programmer at Bashayer Energy Company

I`m attending ASP.NET Core with MVC Training with Eng Mohamed Hesham , I really learned a lot from him , everything here in CLS  is very satisfying including facilities .Thanks you all team.

Student Application For

Flutter & Dart App development
Full Name *
Email *
Phone *
Full Phone
Training Location *
Additional Request

Business Application For

Flutter & Dart App development
Full Name *
Company Name *
Job Title *
Number of Employees
Email *
Phone *
Full Phone
Training Location *
Additional Request