Autoplay
Autocomplete
Previous Lesson
Complete and Continue
The Complete Flutter Development Bootcamp Using Dart
Introduction to Flutter Development
What is Flutter? (7:52)
Why Flutter? (12:11)
The Anatomy of a Flutter App (5:27)
[Optional] How to Get the Most Out of the Course (9:33)
Course Resources
Join the Student Community
Installation and Setup for Flutter Development
Prerequisites for Building Apps with Flutter (6:22)
Overview of the Process
Windows Setup Step 1 - Install the Flutter SDK (7:19)
Windows Setup Step 2 - Install Android Studio (2:40)
Windows Setup Step 3 - Install the Android Emulator (5:44)
Mac Setup Step 1 - Install the Flutter SDK (9:15)
Mac Setup Step 2 - Install Android Studio (4:10)
Mac Setup Step 3 - Install the Android Emulator (3:54)
Mac Setup Step 4 - Install Xcode (2:25)
Mac Setup Step 5 - Test the iOS Simulator (3:16)
[Optional] Configure Android Studio for Flutter Development (9:51)
[Optional] Guided Tour of Android Studio for Flutter Development (13:15)
How to Create Flutter Apps From Scratch (I Am Rich Project)
Creating a New Flutter Project from Scratch (16:01)
Scaffolding a Material App (22:12)
Working with Assets in Flutter & the Pubspec file (9:24)
How to Add App Icons to the iOS and Android Projects (9:10)
Deploying Flutter Apps to a Physical Device
How to Deploy Flutter Apps to Physical Android Devices (6:19)
How to Deploy Flutter Apps to iPhone/iPad Devices (16:23)
What are App Challenges? (4:24)
The I Am Poor Challenge
Show Off Your Work!
How to Build Beautiful UIs with Flutter Widgets (MiCard Project)
MiCard - A Single Screen Personal Business Card App (5:31)
Hot Reload & Hot Restart - Flutter Power Tools (13:49)
How to Use Column and Row Widgets for Layout (14:00)
Flutter Layouts Challenge
Tapping into Widget Properties (9:14)
Incorporating Custom Fonts in Your Flutter App (10:59)
Adding Material Icons with the Icon Widget (12:35)
Flutter Card & ListTile Widget (13:19)
Building an App with State (Dicee Project)
A Stateful Dice App (4:29)
Using the Expanded Widget for Flexible Layouts (12:00)
How to Use Intention Actions (8:30)
Detecting User Interaction with Flutter Buttons (12:41)
🎯 Dart Functions Part 1 (5:38)
Making the Dice Image Change Reactively (4:00)
🎯Dart Variables (7:24)
🎯Dart Data Types (12:24)
Stateful vs. Stateless Widgets (14:58)
Randomising the Dice & Challenge 1 (8:26)
Challenge 1 Solution & Challenge 2 (3:09)
Challenge 2 Solution & Challenge 3 (1:57)
Challenge 3 Solution (2:34)
Boss Level Challenge 1 (Magic 8 Ball Project)
Magic 8 Ball - A Decision Making App (0:56)
Step 1 - Set Up The Project
Step 2 - Create a Stateless Widget
Step 3 - Create a Stateful Widget
Step 4 - Make it Interactive
Step 5 - Randomise it
Step 6 - Update the State
How to Use Flutter and Dart Packages to Speed Up Development (Xylophone Project)
Xylophone - A Simple Musical Instrument App (3:36)
What are Flutter & Dart Packages? (13:22)
How to Play Sound Across Platforms (9:46)
How to Play Multiple Sounds (9:00)
🎯Dart Functions - Part 2 (10:32)
Updating the UI of Our App (9:15)
🎯Dart Functions - Part 3 (10:54)
🎯Dart Functions Challenge (6:52)
Refactor and Clean Up Our Code (6:18)
Customise It!
Modularising and Organising Flutter Code (Quizzler Project)
Quizzler - A True/False Quiz App (3:14)
Building a Score Keeper (12:08)
🎯Dart Lists (8:25)
Displaying the Questions (17:04)
Checking the User Answer (6: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:51)
Inheritance in Action (7:38)
Polymorphism in Action (8:31)
Adding Back the Score Keeper (6:50)
Code Challenge (3:14)
🎯Dart Class Constructors (14:01)
Boss Level Challenge 2 (Destini Project)
Destini - A Choose Your Own Adventure Game (2:17)
Set Up the Project
Familiarise Yourself with the Starting Project
Step 1 - Adding a Image as a Background
Solutions on GitHub
Step 2 - Create a New Story Class
Step 5/6/7 - Create the Story Brain
Step 8/9/10 - Display the Story in the App
Step 11/12/13/14 - Display the Choices in the App
Step 16/17/18/19 - Update the Story Based on User Choice
Step 21 - Use the Story Plan to Progress through the Story
Step 22/23/24 - Restart the Game When the User Reaches the End
Step 25 - Renaming and Refactoring Using Android Studio
Step 26/27/28 - Hiding Buttons
Check Out the Completed App!
Building UI with Flutter for Intermediates (BMI Calculator Project)
Bmi Calculator - A Beautiful Health App (2: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 Using Themes (11:49)
Composition vs. Inheritance - Building Flutter Widgets From Scratch (27:43)
Multi-Screen Apps Using Routes and Navigation (21:40)
🎯 Dart Maps (7:53)
Designing the Result Screen (20:57)
Creating the Calculator Model and String Manipulation (13:22)
Powering Your Flutter App with Live Web Data (Clima Project)
Clima - A Modern Weather App (0:56)
Getting Location Data From Across Platforms (16:08)
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 (5:27)
Application Programming Interfaces (APIs) Explained (9:00)
Networking in Flutter Apps with the HTTP Package (13:50)
JSON Parsing and Dynamic Types (16:20)
Getting Actual Weather Data from OpenWeatherMap API (10:19)
Showing a Spinner While the User Waits (6:10)
Passing Data to a State Object (11:18)
Updating the Weather with the WeatherModel (8:41)
Refactoring the Location Methods (15:13)
Creating and Styling a TextField Widget for Text Entry (10:06)
Passing Data Backwards Through the Navigation Stack (13:32)
Boss Level Challenge 3 (Bitcoin Ticker Project)
Bitcoin Ticker - A Simple Cryptocurrency Price Tracker (2:39)
The Material DropdownButton Widgets (8:22)
🎯Dart Loops (24:16)
Building Widgets with Loops Solution (7:00)
Introducing Cupertino Widgets (10:30)
Building Platform Specific UI (iOS & Android) (9:42)
Introduction to Boss Level Challenge 3 (4:15)
🥉Level 1 - Bronze Medal
🥈Level 2 - Silver Medal
🥇Level 3 - Gold Medal
Check Out the Completed App!
Flutter x Firebase Cloud Firestore (Flash Chat Project)
Flash Chat - A Lightning Fast Messaging App (1:29)
Named Routes Challenge (8:18)
🎯Dart Static Modifier (13:03)
Refactor Routes with the Static Const (6:29)
Flutter Hero Animations (8:46)
Custom Flutter Animations with the Animation Controller (28:55)
🎯Dart Mixins (10:49)
Prepackaged Flutter Animations (4:32)
Code Refactoring Challenge (16:36)
Creating a New Firebase Project (2:46)
Android Firebase Project Setup (6:27)
iOS Firebase Project Setup (5:36)
Firebase Flutter Packages Setup (iOS & Android) (7:32)
Registering Users with Firebase using FirebaseAuth (15:57)
Authenticating Users with FirebaseAuth (5:44)
Showing a Spinner while the User Waits (5:25)
Saving Data into Cloud Firestore (8:12)
Listening for Data from Firebase using Streams (13:13)
🎯Dart Streams (7: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 Security Rules (3:36)
Next Steps
Join the #FlutterBrew Contest!
Keep Learning!
Publish Your Apps!
Refactor Routes with the Static Const
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock