Flutter Essential Training: Build for Multiple Platforms
7h 44mBeginner2025-07-18
Authors

Pooja Jaisingh
Senior Learning Evangelist at Adobe
Course details
In this course, Pooja Bhaumik covers everything a complete beginner needs to get started using Dart and Flutter. Pooja begins with some basic concepts of Dart that you need to understand before using the Flutter framework. Next, she introduces you to Flutter, including Flutter resources that are available, as well as how to install and set up Flutter, select the best version to use, define the anatomy of a Flutter project, and more. Pooja goes over the basic building blocks of Flutter UI, such as building widgets, aligning and placing elements, building dynamic lists, breaking down design into code, and more. She covers interactivity in depth, then goes into everything you need to know about Pubspec. Pooja explains synchronous and asynchronous functions, Postman, the JsonSerializable package, FutureBuilder, and other useful innovations. After discussing how to work with data, Pooja recommends some next steps and points out how you can learn more from Flutter documentation.
Skills covered
FlutterCross-Platform DevelopmentMobile DevelopmentSoftware Development ToolsGoogleLearningSoftware Development
Concepts
0. Introduction
- 01 - Building for multiple platforms
- 02 - What you should know
- 03 - Using the GitHub exercise files
1. Essential Dart Concepts for Flutter
- 04 - Entry point to a Dart application
- 05 - Overview of data types - Numbers and strings
- 06 - Overview of data types - Bool, lists, and maps
- 07 - Difference between var and dynamic
- 08 - Functions in Dart
- 09 - Overview of classes and objects - Part 1
- 10 - Overview of classes and objects - Part 2
2. Introduction to Flutter
- 11 - Making use of various Flutter resources
- 12 - Installing Flutter and setting up Android Studio on Mac
- 13 - Installing Flutter and setting up Android Studio on Windows
- 14 - Which Flutter version to use
- 15 - Running the Hello World app on mobile, desktop, and web
- 16 - Anatomy of a Flutter project
- 17 - Understanding the Counter App code
- 18 - Solution - Draw the widget tree
- 19 - Bonus - Getting to know Android Studio
3. Basic Building Blocks
- 20 - Flutter building blocks to know about
- 21 - Building basic widgets for the login screen
- 22 - Building basic widgets for the chat screen
- 23 - Placements and alignments
- 24 - Structure - Flexible and expanded
- 25 - Creating your own custom widget
- 26 - Building dynamic lists
- 27 - How to breakdown designs into code
- 28 - Breaking down designs - More examples
4. Interactivity
- 29 - What is state
- 30 - Writing your first stateful widget
- 31 - Widget variables vs. state variables
- 32 - When to use stateless or stateful
- 33 - Lifecycle of a stateful widget
- 34 - Stateful hot reload
- 35 - Learning about buttons
- 36 - Taps and gesture detection
- 37 - Getting inputs from the user
- 38 - Validating user inputs
- 39 - Creating multiline text fields
- 40 - Navigating from one screen to another
- 41 - Passing data with navigation
- 42 - Navigating via named routes
- 43 - Replacing routes using Navigator
5. Everything about Pubspec
- 44 - Organizing the styles and colors for the login page
- 45 - Organizing the styles and colors for the chat page
- 46 - Understanding the anatomy of a pubspec.yaml file
- 47 - Exploring pub.dev
- 48 - Plugins vs. packages
- 49 - Adding plugins to your app from pub.dev
- 50 - Adding packages from external sources
- 51 - Modeling entities in Dart
- 52 - Generics in Dart
- 53 - JSON - Serialization vs. deserialization
- 54 - Reading data from a JSON file
- 55 - Improving UI with box constraints
- 56 - Calling a parent class method from child class
6. This Is the Future
- 57 - Handling async operations in Dart
- 58 - Introduction to APIs and exploring Postman.
- 59 - Deserialize JSON with the JsonSerializable package
- 60 - Integrating a REST API
- 61 - FutureBuilder for futures
- 62 - Repository pattern
- 63 - Grid view in a ModalBottomSheet
- 64 - Showing the selected image in ChatInput
- 65 - Exception handling
- 66 - Creating rounded UI elements
7. Working with Data
- 67 - Why you need state management
- 68 - Exploring provider way
- 69 - Caching data
- 70 - Static initializers
- 71 - Change notifiers in Flutter
- 72 - Creating a dynamic home page
- 73 - Making the UI responsive for the web
Conclusion
- 74 - Next steps
Related courses
- Flutter: Part 05 Flutter and Dart Packages
- Flutter: Part 06 Modularizing and Organizing Flutter Code
- Flutter: Part 07 Building the UI or Flutter: Part 07 Building UIs
- Flutter: Part 08 Powering Your App with Live Web Data
- Flutter: Part 09 Dart, Cupertino, and Widgets
- Flutter: Part 10 Firebase Cloud Firestore
- Flutter: Part 01 Introduction
- Flutter: Part 02 Building Apps