The Complete Flutter Development Bootcamp with Dart
About Course
Welcome to the Complete Flutter App Development Bootcamp with Dart – created in collaboration with the Google Flutter team.
Now includes a brand new module on Flutter State Management!
Covering all the fundamental concepts for Flutter development, this is the most comprehensive Flutter course available online.
We built this course over months, perfecting the curriculum together with the Flutter team to teach you Flutter from scratch and make you into a skilled Flutter developer with a strong portfolio of beautiful Flutter apps.
Our complete Flutter development bootcamp teaches you how to code using Dart and build beautiful, fast, native-quality iOS and Android apps. Even if you have ZERO programming experience.
I’ll take you step-by-step through engaging and fun video tutorials and teach you everything you need to know to succeed as a Flutter developer.
The course includes 28+ hours of HD video tutorials and builds your programming knowledge while making real world apps. e.g. Whatsapp, QuizUp and Yahoo Weather.
By the end of this course, you will be fluently programming in Dart and be ready to build your own Flutter apps and become a fully fledged Flutter developer.
You’ll also have a portfolio of over 15 apps that you can show off to any potential employer.
What Will You Learn?
- Build beautiful, fast and native-quality apps with Flutter
- Become a fully-fledged Flutter developer
- Build iOS and Android apps with just one codebase
- Build iOS and Android apps using just one programming language (Dart)
- Build a portfolio of beautiful Flutter apps to impress any recruiter
- Understand all the fundamental concepts of Flutter development
- Become proficient in one of the fastest growing technologies
Course Content
Section 1: Introduction to Cross-Platform Development with Flutter and Dart
-
Introduction to the Course
02:04 -
Download the Course Syllabus
-
What is Flutter?
07:51 -
Why Flutter?
12:12 -
The Anatomy of a Flutter App
05:28 -
How to Get the Most Out of the Course
09:34
Section 2: Setup and Installation
-
Prerequisites for Flutter Development
06:21 -
Overview of the Process
-
Windows Setup Step 1 – Install the Flutter SDK
07:19 -
Windows Setup Step 2 – Install Android Studio
02:40 -
Windows Setup Step 3 – Install the Android Emulator
05:44 -
Windows Installation Troubleshooting
-
A Quick Note About macOS Catalina
-
Mac Setup Step 1 – Install the Flutter SDK
13:46 -
Mac Setup Step 2 – Install Android Studio
04:10 -
Mac Setup Step 3 – Install the Android Emulator
03:54 -
Mac Setup Step 4 – Install Xcode and Command Line Tools
02:25 -
Mac Setup Step 5 – Test the iOS Simulator
03:17 -
Mac Installation Troubleshooting
Section 3: I Am Rich – How to Create Flutter Apps From Scratch
-
Creating a New Flutter Project from Scratch
15:32 -
Scaffolding a Flutter App
22:12 -
Working with Assets in Flutter & the Pubspec file
09:24 -
How to Add App Icons to the iOS and Android Apps
09:49
Section 4: Running Your App on a Physical Device
-
Deploying Flutter Apps to an Android Phone
06:19 -
Deploying Flutter Apps to iPhones/iPads
16:23
Section 5: I Am Poor – App Challenge
-
What are App Challenges?
04:24
Section 6: MiCard – How to Build Beautiful UIs with Flutter Widgets
-
MiCard – A Single Screen Personal Business Card App
05:31 -
Hot Reload and Hot Restart – Flutter Power Tools
13:49 -
How To Use Container Widgets
11:16 -
How to use Column & Row Widgets for Layout
14:00 -
Tapping into Widget Properties
09:14 -
Incorporating Custom Fonts in Your Flutter App
10:59 -
Adding Material Icons with the Icon Widget
12:35 -
Flutter Card & ListTile Widgets
13:19
Section 7: Dicee – Building Apps with State
-
Dicee – A Stateful Dice App
04:28 -
Using the Expanded Widget to Create Flexible Layouts
12:00 -
How to Use Intention Actions
08:30 -
Adding Gesture Detection with Flutter Button Widges
12:41 -
[Dart] Functions – Part 1
05:38 -
Making the Dice Image Change Reactively
04:00 -
[Dart] Variables
07:24 -
[Dart] Data Types
12:23 -
Stateful vs. Stateless Widgets – What’s the Difference?
14:58 -
Randomising the Dice
08:26 -
Challenge 1 Solution
03:09 -
Challenge 2 Solution
01:57 -
Challenge 3 Solution
02:34
Section 8: Boss Level Challenge 1 – Magic 8 Ball
-
Magic 8 Ball – A Decision Making App
00:56
Section 9: Xylophone – Using Flutter and Dart Packages to Speed Up Development
-
Xylophone – A Simple Musical Instrument App
03:36 -
What are Flutter & Dart Packages?
13:22 -
How to Play Sound Across Platforms
09:46 -
How to Play Multiple Sounds
09:00 -
[Dart] Functions – Part 2
10:32 -
Updating the UI of Our App
09:15 -
[Dart] Functions – Part 3
10:54 -
[Dart] Functions Challenge
06:52 -
Refactoring Our App
06:18 -
[Dart] Arrow Functions
06:27
Section 10: Quizzler -Modularising & Organising Flutter Code
-
Quizzler – A True/False Quiz App
03:14 -
Building a Score Keeper
12:07 -
[Dart] Lists
08:25 -
Displaying the Questions
17:04 -
Checking User Answers
06:28 -
[Dart] Conditionals – IF/ELSE
15:36 -
Creating a Question Class
12:39 -
[Dart] Classes and Objects
15:24 -
Abstraction in Action
16:25 -
Encapsulation in Action
14:50 -
Inheritance in Action
07:38 -
Polymorphism in Action
08:31 -
Adding Back the Score Keeper
06:50 -
Code Challenge
03:14 -
[Dart] Class Constructors
14:01
Section 11: Boss Level Challenge 2 – Destini
-
Destini – A Choose Your Own Adventure Game
02:17
Section 12: BMI Calculator – Building Flutter UI for Intermediates
-
BMI Calculator – A Beautiful Health App
02:02 -
How to Use Flutter Themes
24:05 -
How to Refactor Flutter Widgets
20:05 -
[Dart] Final vs. Const
18:24 -
Creating Custom Flutter Widgets
18:25 -
The GestureDetector Widget
12:03 -
[Dart] Enums
11:19 -
[Dart] Ternary Operator
13:07 -
[Dart] Functions as First Order Objects
15:04 -
The Flutter Slider Widget
25:24 -
Customising Widgets with Themes
11:49 -
Composition vs. Inheritance – Building Flutter Widgets From Scratch
27:43 -
Multi-Screen Apps Using Routes and Navigation
21:39 -
[Dart] Maps
07:53 -
Designing the Result Page
20:57 -
Adding the BMI Calculator Functionality
13:22
Section 13: Clima – Powering Your Flutter App with Live Web Data
-
Clima – A Modern Weather App
00:56 -
Getting Location Data From Across Platforms
16:08 -
[Dart] Futures, Async & Await
23:58 -
Stateful Widget Lifecycle Methods
13:29 -
[Dart] Exception Handling & Null Aware Operators
20:32 -
Async/Await Challenge
05:26 -
Application Programming Interfaces (APIs) Explained
09:00 -
Networking in Flutter Apps with the HTTP Package
13:50 -
JSON Parsing and Dynamic Types
16:20 -
Getting Actual Weather Data from the OpenWeatherMap API
10:19 -
Showing a Spinner While the User Waits
06:10 -
Passing Data to a State Object
11:18 -
Updating the Weather with the WeatherModel
08:41 -
Refactoring the Location Methods
15:13 -
Creating and Styling a TextField Widget for Text Entry
10:06 -
Creating and Styling a TextField Widget for Text Entry
13:31
Section 14: Boss Level Challenge 3 – Bitcoin Ticker
-
Bitcoin Ticker – A Simple Cryptocurrency Price Tracker
02:39 -
The Material DropdownButton Widget
08:22 -
[Dart] Loops
24:16 -
Building Widgets with Loops Solution
07:00 -
Introducing Cupertino Widgets
10:30 -
Building Platform Specific UI (iOS & Android)
09:42 -
Introduction to Boss Level Challenge 3
05:15
Section 15: Flash Chat – Flutter x Firebase Cloud Firestore
-
Flash Chat – A Lightning Fast Messaging App
01:29 -
Named Routes Challenge
08:18 -
[Dart] Static Modifier
13:03 -
Refactor Routes with the Static Const
06:29 -
Flutter Hero Animations
08:46 -
Custom Flutter Animations with the Animation Controller
28:55 -
[Dart] Mixins
10:49 -
Prepackaged Flutter Animations
04:32 -
Code Refactoring Challenge
16:35 -
Creating a New Firebase Project
02:46 -
Android Firebase Project Setup
06:27 -
iOS Firebase Project Setup
05:35 -
Firebase Flutter Packages Setup (iOS & Android)
07:32 -
Registering Users with Firebase using FirebaseAuth
15:57 -
Authenticating Users with FirebaseAuth
05:44 -
Showing a Spinner while the User Waits
05:25 -
Saving Data into Cloud Firestore
08:12 -
Listening for Data from Firebase using Streams
13:13 -
[Dart] Streams
07:24 -
Turning Streams into Widgets Using the StreamBuilder
16:56 -
The Flutter ListView
16:38 -
A Different UI for Different Senders
16:54 -
Cloud Firestore Authorisation And Security Rules
03:36
Section 16: Flutter State Management
-
Todoey – Your Very Own To-Do List App
00:00