Autoplay
Autocomplete
Previous Lesson
Complete and Continue
The Complete 2021 Flutter Development Bootcamp with Dart
Section 1: 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
Section 2: 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:39)
Windows Setup Step 3 - Install the Android Emulator (5:44)
Windows Installation Troubleshooting
Mac Setup Step 1 - Install the Flutter SDK (13:46)
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)
Mac Installation Troubleshooting
[Optional] Configure Android Studio for Flutter Development (9:51)
[Optional] Guided Tour of Android Studio for Flutter Development (13:15)
Section 3: How to Create Flutter Apps From Scratch (I Am Rich Project)
Creating a New Flutter Project from Scratch (15:32)
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:49)
How to Ace this Course (1:24)
Section 4: Running Your App on a Physical Device
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)
Tip from Angela - Habit Building with the Calendar Trick (2:52)
Section 5: I Am Poor - App Challenge
What are App Challenges? (4:24)
The I Am Poor Challenge
Show Off Your Work!
Tip from Angela - Dealing with Distractions (2:28)
Section 6: MiCard - How to Build Beautiful UIs with Flutter Widgets
MiCard - A Single Screen Personal Business Card App (5:31)
Hot Reload & Hot Restart - Flutter Power Tools (13:49)
How to Use Container Widgets (11:16)
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)
Download the Completed Project
Tip from Angela - Nothing Easy is Worth Doing! (3:35)
Section 7: Dicee - Building Apps with State
A Stateful Dice App (4:28)
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:23)
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)
Download the Completed Project
Tip from Angela - How to Deal with Procrastination (4:07)
Section 8: Boss Level Challenge 1 - Magic 8 Ball
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
Customise it!
Tip from Angela - Building a Programming Habit (2:46)
Section 9: Xylophone - Using Flutter and Dart Packages to Speed Up Development
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)
🎯Dart Arrow Functions (6:27)
Customise It!
Download the Completed Project
Tip from Angela - The 20 Minute Method (2:39)
Section 10: Quizzler - Modularising & Organising Flutter Code
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:50)
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)
Download the Completed Project
Tip from Angela - Learning Before you Eat (2:06)
Section 11: Boss Level Challenge 2 - Destini
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/3/4 - 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!
Tip from Angela - Retrieval is How You Learn (2:52)
Section 12: BMI Calculator - Building Flutter UIs for Intermediates
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:39)
🎯 Dart Maps (7:53)
Designing the Result Screen (20:57)
Creating the Calculator Model and String Manipulation (13:22)
Download the Completed Project
Tip from Angela - Dealing with Lack of Progress (3:08)
Section 13: Clima - Powering Your Flutter App with Live Weather Web Data
Clima - A Modern Weather App (0: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 (5:26)
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:31)
Download the Completed Project
Tip from Angela - Mixing Knowledge (2:20)
Section 14: Boss Level Challenge 3 - Bitcoin Ticker (a.k.a. Am I Rich?)
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 (5:15)
🥉Level 1 - Bronze Medal
🥈Level 2 - Silver Medal
🥇Level 3 - Gold Medal
Check Out the Completed App!
Tip from Angela - Dealing with Frustration (2:31)
Section 15: Flash Chat - Flutter x Firebase Cloud Firestore
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:35)
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)
Download the Completed Project
Tip from Angela - Sleep is My Secret Weapon (3:48)
Section 16: Flutter State Management
Todoey - Your very own To-Do List App (1:31)
Designing the To-Do List App (24:40)
The ListView Challenge (9:54)
The BottomSheet Widget (19:41)
Positioning the BottomSheet above the Keyboard
What is State and How do we Manage it? (21:02)
How do Callbacks work in Dart? (6:34)
The ListView Builder (20:13)
Lifting State Up Challenge (15:34)
Flutter App Architecture Patterns (10:59)
Introducing the Provider Package (26:50)
Using a Provider and a ChangeNotifier to Manage State (20:35)
Adding New To-Do List Tasks (14:32)
Checking off To-Do List Tasks (6:44)
Deleting Tasks using the Provider Design Pattern (5:45)
Download the Completed Project
Tip from Angela - How to Solidify Your Knowledge (2:55)
Section 17: Next Steps
Join the #FlutterBrew Contest!
Keep Learning!
Publish Your Apps!
Tip from Angela - Review your goals! (2:20)
Feedback Time!
Flutter Layouts Challenge
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock