The Complete Flutter Development Bootcamp with Dart

Officially created in collaboration with the Google Flutter team.
The Complete Flutter Development Bootcamp with Dart
File Size :
18.98 GB
Total length :
28h 47m



Dr. Angela Yu


Last update

Last updated 12/2021



The Complete Flutter Development Bootcamp with Dart

What you’ll 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

The Complete Flutter Development Bootcamp with Dart

The Complete Flutter Development Bootcamp with Dart-screenshot


A Computer that has admin privileges
Have 10GB of free space on your hard drive.
All software we’ll be using is free to download and install.
Although you can build iOS apps on a Windows computer with Flutter, if you want to test it, you will need a Mac.


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.Sign up today, and look forwards to:Over 28 hours of HD 1080p video content, everything you’ll ever need to succeed as a Flutter developer.Building over 15 fully-fledged apps including ones that use Firebase Cloud Firestore, StreamBuilder, ListView, networking, external APIs and much much more. All the knowledge you need to start building any app you want$8000+ Flutter development bootcamp course materials and curriculumFrom Beginner to Flutter Developer with Just One CourseWe know that you’re here because you value your time. If you wanted to watch someone program for hours and hours without explaining what they’re doing, you’d be on YouTube. By getting this course, you can be rest assured that the course is carefully thought out and edited. There are beautiful animations that explain all the difficult concepts and we’re always on hand to answer student questions.So by the end of the course, you’ll completely understand:Fundamental Flutter concepts e.g. Stateful vs. Stateless Widgets, Widget tree, state management, animations, themes and much more.Fundamental Dart concepts e.g. lists, maps, enums, loops, futures, streams, mixins, classes, and much more. Concepts of Object Oriented Programming (OOP): The type system, variables, functions and methods, inheritance, classes and protocols.Control Structures: Using If/­Else clauses, Switch statements and logic to control the flow of execution.Data Structures: How to work with collections, such as Lists and Maps.Software Design: How to organise and format code for readability and how to implement the Model ­View­ Controller (MVC) design pattern.Networking: How to make asynchronous API calls, store and retrieve data from the cloud, and use the JSON format for server communication.Data Storage: How to use Firebase Cloud Firestore to act as a backend for your Flutter apps.Authentication: How to use log in and register users for your Flutter apps.State Management: How to use setState, prop drilling, lifting state up, callbacks and the Provider package to manage app state.Don’t waste your timeDon’t waste another minute of your precious life on poor quality videos on YouTube. Or instructors who you can’t understand. Or teachers who have no real world in-person teaching experience. Your time is precious. Take this course and find out why everybody is raving about it and why over 35,000 students rated my courses 5 stars!Don’t waste your moneyInside this course, you’re getting exactly the same course materials and curriculum as our 12 week in-person programming bootcamp. Instead of spending $8000+ dollars and taking time off work, save loads of money by getting this course and do it at your own pace!Don’t just take my word for it, see what my past students had to say about my courses:”Angela is literally my favorite teacher. Ever. In the entire universe. She is hilarious and teaches in a lighthearted and fun way that is also very clear to understand. I instantly purchased this course as soon as I saw it was released because I know Angela delivers the highest quality educational content possible. 100% recommend this course (as well as every other course she’s created). Thank you Angela for helping me as I make a career pivot into becoming a hybrid UX designer/mobile developer!” – Jacob Pernell”Angela is my favorite Udemy professor for coding courses. Her methods for building onto the material so that you’re never progressing too fast or too slow make for a really engaging learning experience. She’s thorough in her explanations, and uses fun projects to discuss the material. I had started a couple other Flutter courses before finding this one, and I’ve progressed more in 24hrs than I did in a week with the other courses. Would love an advanced Flutter course from Angela to tackle once I’m done with this one!” – Jerome Llouche”You will not find a better teacher than Angela. She does a wonderful job of encouraging you to learn swift the right way. I want to encourage everyone thinking about taking this class to get it, as it is the BEST programming class I’ve seen on anywhere and I’ve tried more than a few of them. If you are looking for an excellent swift programming course, stop there here because you have found it. You will learn Swift from the very beginning of programming all the way through making your own apps that you can upload to the App store.” – Ian Hopjins”SO GOOD!!! Retention rate is incredible because Angela does a great job in explaining and teaching every aspect of what we are doing. Most of the other instructors on Udemy put code on the screen and pretend nothing happened. This course is amazing! 5/5″ – Muhammad Ibrahim”Angela is a spectacular teacher!” – Marco Zanirato”This course was terrific. Only after taking a few more courses from others that I realized how good this course was. This course taught me more than I was expecting, it provided great instructions and a lot of hands-on tasks to drill-in the concept.” – Marc”Best use of your money! I was a complete beginner but Angela made me a pro in weeks.” – Burak Tunçbilek”IT IS #1!!!!!!!!! Absolutely Amazing. The best iOS course i have ever taken. Angela explains everything the way it needs to be explained, so everything is easily understood. The concept of this course is built to make you learn, not just watch and repeat. Angela is highly educated and it is very much noticeable during the entire course. Again, it is fantastic. Thank you. Please create more courses!!!!!” – Eduard KhachianAre you trying to choose between all the different Flutter courses on Udemy? Take a look at what students on my course had to say about this:I have revamped my expectation for what a 5 star course should be for Udemy. Angela, you’re awesome! I already rated the course as 5 stars early on (at about 20% completion), but after completing roughly 70% of the course, I can say this is my favourite Udemy course as of today. Brilliant course Angela! – Alberto L”I took a lot of courses on Udemy and elsewhere and non of them were as clear and perfectly paced as this one! Angelas approach is really awesome, deep and clear.” – Žan Fras”I have taken several iOS courses, so far this course had the best explanation on swift and xcode documentation. The lecturer is kinda humorous sometimes which make this course even more enjoyable.” – Bryan Pukanda”I have taken lots of courses on udemy and elsewhere for self learning and i can tell you with all the honesty this is one course which i did not want it to end. It is like one of those movies that you wish keeps going. Whatever concepts are covered were covered very beautifully and made learning quite simple. I got so many answers to Why? in this course like how closures work and why they work that way… why delegates work that way. Thank you so much for this course.” – Arun Lakhera”I compare this to another top iOS class on Udemy, but I think that this one beats it. The reason? Angela doesn’t show you a plethora of material and then say that we will discuss this later, or say “just do this. You will see why later.” She goes into the reason for doing something before doing it.”  – Clyde AddisonREMEMBER… I’m so confident that you’ll love this course that we’re offering a FULL money back guarantee for 30 days! So it’s a complete no-brainer, sign up today with ZERO risk and EVERYTHING to gain.So what are you waiting for? Click the buy now button and join the world’s best Flutter development course.


Section 1: Introduction to Cross-Platform Development with Flutter and Dart

Lecture 1 Introduction to the Course

Lecture 2 Download the Course Syllabus

Lecture 3 What is Flutter?

Lecture 4 Why Flutter?

Lecture 5 The Anatomy of a Flutter App

Lecture 6 How to Watch the Course in High Definition

Lecture 7 How to Get the Most Out of the Course

Lecture 8 Join the Student Community

Section 2: Setup and Installation

Lecture 9 Prerequisites for Flutter Development

Lecture 10 Overview of the Process

Lecture 11 Windows Setup Step 1 – Install the Flutter SDK

Lecture 12 Windows Setup Step 2 – Install Android Studio

Lecture 13 Windows Setup Step 3 – Install the Android Emulator

Lecture 14 Windows Installation Troubleshooting

Lecture 15 A Quick Note About macOS Catalina

Lecture 16 Mac Setup Step 1 – Install the Flutter SDK

Lecture 17 Mac Setup Step 2 – Install Android Studio

Lecture 18 Mac Setup Step 3 – Install the Android Emulator

Lecture 19 Mac Setup Step 4 – Install Xcode and Command Line Tools

Lecture 20 Mac Setup Step 5 – Test the iOS Simulator

Lecture 21 Mac Installation Troubleshooting

Lecture 22 [Optional] Configure Android Studio for Flutter Development

Lecture 23 [Optional] Guided Tour of Android Studio for Flutter Development

Section 3: I Am Rich – How to Create Flutter Apps From Scratch

Lecture 24 Creating a New Flutter Project from Scratch

Lecture 25 A quick note about Hot Reload

Lecture 26 Scaffolding a Flutter App

Lecture 27 Working with Assets in Flutter & the Pubspec file

Lecture 28 How to Add App Icons to the iOS and Android Apps

Lecture 29 How to Ace this Course

Section 4: Running Your App on a Physical Device

Lecture 30 Deploying Your Flutter Apps to a Physical Device

Lecture 31 Deploying Flutter Apps to an Android Phone

Lecture 32 Deploying Flutter Apps to iPhones/iPads

Lecture 33 Tip from Angela – Habit Building with the Calendar Trick

Section 5: I Am Poor – App Challenge

Lecture 34 What are App Challenges?

Lecture 35 The I Am Poor Challenge

Lecture 36 Show Off Your Work!

Lecture 37 Tip from Angela – Dealing with Distractions

Lecture 38 Do You Want This?

Section 6: MiCard – How to Build Beautiful UIs with Flutter Widgets

Lecture 39 MiCard – A Single Screen Personal Business Card App

Lecture 40 Hot Reload and Hot Restart – Flutter Power Tools

Lecture 41 How to Use Container Widgets

Lecture 42 How to use Column & Row Widgets for Layout

Lecture 43 Flutter Layouts Challenge

Lecture 44 Tapping into Widget Properties

Lecture 45 Incorporating Custom Fonts in Your Flutter App

Lecture 46 Adding Material Icons with the Icon Widget

Lecture 47 Flutter Card & ListTile Widgets

Lecture 48 Download the Completed Project

Lecture 49 Tip from Angela – Nothing Easy is Worth Doing!

Section 7: Dicee – Building Apps with State

Lecture 50 Dicee – A Stateful Dice App

Lecture 51 Using the Expanded Widget to Create Flexible Layouts

Lecture 52 How to Use Intention Actions

Lecture 53 Adding Gesture Detection with Flutter Button Widges

Lecture 54 [Dart] Functions – Part 1

Lecture 55 Making the Dice Image Change Reactively

Lecture 56 [Dart] Variables

Lecture 57 [Dart] Data Types

Lecture 58 Stateful vs. Stateless Widgets – What’s the Difference?

Lecture 59 Randomising the Dice

Lecture 60 Challenge 1 Solution

Lecture 61 Challenge 2 Solution

Lecture 62 Challenge 3 Solution

Lecture 63 Download the Completed Project

Lecture 64 Tip from Angela – How to Deal with Procrastination

Section 8: Boss Level Challenge 1 – Magic 8 Ball

Lecture 65 Magic 8 Ball – A Decision Making App

Lecture 66 Step 1 – Set Up The Project

Lecture 67 Step 2 – Create a Stateless Widget

Lecture 68 Step 3 – Create a Stateful Widget

Lecture 69 Step 4 – Make it Interactive

Lecture 70 Step 5 – Randomise it

Lecture 71 Step 6 – Update the State

Lecture 72 Customise It!

Lecture 73 Tip from Angela – Building a Programming Habit

Section 9: Xylophone – Using Flutter and Dart Packages to Speed Up Development

Lecture 74 Xylophone – A Simple Musical Instrument App

Lecture 75 What are Flutter & Dart Packages?

Lecture 76 How to Play Sound Across Platforms

Lecture 77 How to Play Multiple Sounds

Lecture 78 [Dart] Functions – Part 2

Lecture 79 Updating the UI of Our App

Lecture 80 [Dart] Functions – Part 3

Lecture 81 [Dart] Functions Challenge

Lecture 82 Refactoring Our App

Lecture 83 [Dart] Arrow Functions

Lecture 84 Customise It!

Lecture 85 Download the Completed Project

Lecture 86 Tip from Angela – The 20 Minute Method

Section 10: Quizzler -Modularising & Organising Flutter Code

Lecture 87 Quizzler – A True/False Quiz App

Lecture 88 Building a Score Keeper

Lecture 89 [Dart] Lists

Lecture 90 Displaying the Questions

Lecture 91 Checking User Answers

Lecture 92 [Dart] Conditionals – IF/ELSE

Lecture 93 More Dart Programming Challenges

Lecture 94 Creating a Question Class

Lecture 95 [Dart] Classes and Objects

Lecture 96 Abstraction in Action

Lecture 97 Encapsulation in Action

Lecture 98 Inheritance in Action

Lecture 99 Polymorphism in Action

Lecture 100 Adding Back the Score Keeper

Lecture 101 Code Challenge

Lecture 102 [Dart] Class Constructors

Lecture 103 Download the Completed Project

Lecture 104 Tip from Angela – Learning Before you Eat

Section 11: Boss Level Challenge 2 – Destini

Lecture 105 Destini – A Choose Your Own Adventure Game

Lecture 106 Set Up the Project

Lecture 107 Familiarise Yourself with the Starting Project

Lecture 108 Step 1 – Adding a Image as a Background

Lecture 109 Solutions on GitHub

Lecture 110 Step 2/3/4 – Create a New Story Class

Lecture 111 Step 5/6/7 – Create the Story Brain

Lecture 112 Display the Story in the App

Lecture 113 Step 11/12/13/14 – Display the Choices in the App

Lecture 114 Update the Story Based on User Choice

Lecture 115 Step 21 – Use the Story Plan to Progress through the Story

Lecture 116 Step 22/23/24 – Restart the Game When the User Reaches the End

Lecture 117 Step 25 – Renaming and Refactoring Using Android Studio

Lecture 118 Step 26/27/28 – Hiding Buttons

Lecture 119 Download the Completed App!

Lecture 120 Tip from Angela – Retrieval is How You Learn

Section 12: BMI Calculator – Building Flutter UI for Intermediates

Lecture 121 BMI Calculator – A Beautiful Health App

Lecture 122 How to Use Flutter Themes

Lecture 123 How to Refactor Flutter Widgets

Lecture 124 [Dart] Final vs. Const

Lecture 125 Creating Custom Flutter Widgets

Lecture 126 The GestureDetector Widget

Lecture 127 [Dart] Enums

Lecture 128 [Dart] Ternary Operator

Lecture 129 [Dart] Functions as First Order Objects

Lecture 130 The Flutter Slider Widget

Lecture 131 Customising Widgets with Themes

Lecture 132 Composition vs. Inheritance – Building Flutter Widgets From Scratch

Lecture 133 Multi-Screen Apps Using Routes and Navigation

Lecture 134 [Dart] Maps

Lecture 135 Designing the Result Page

Lecture 136 Adding the BMI Calculator Functionality

Lecture 137 Download the Completed Project

Lecture 138 Tip from Angela – Dealing with Lack of Progress

Section 13: Clima – Powering Your Flutter App with Live Web Data

Lecture 139 Clima – A Modern Weather App

Lecture 140 Getting Location Data From Across Platforms

Lecture 141 [Dart] Futures, Async & Await

Lecture 142 Stateful Widget Lifecycle Methods

Lecture 143 [Dart] Exception Handling & Null Aware Operators

Lecture 144 Async/Await Challenge

Lecture 145 Application Programming Interfaces (APIs) Explained

Lecture 146 Networking in Flutter Apps with the HTTP Package

Lecture 147 JSON Parsing and Dynamic Types

Lecture 148 Getting Actual Weather Data from the OpenWeatherMap API

Lecture 149 Showing a Spinner While the User Waits

Lecture 150 Passing Data to a State Object

Lecture 151 Updating the Weather with the WeatherModel

Lecture 152 Refactoring the Location Methods

Lecture 153 Creating and Styling a TextField Widget for Text Entry

Lecture 154 Passing Data Backwards Through the Navigation Stack

Lecture 155 Download the Completed Project

Lecture 156 Tip from Angela – Mixing Knowledge

Section 14: Boss Level Challenge 3 – Bitcoin Ticker

Lecture 157 Bitcoin Ticker – A Simple Cryptocurrency Price Tracker

Lecture 158 The Material DropdownButton Widget

Lecture 159 [Dart] Loops

Lecture 160 Building Widgets with Loops Solution

Lecture 161 Introducing Cupertino Widgets

Lecture 162 Building Platform Specific UI (iOS & Android)

Lecture 163 Introduction to Boss Level Challenge 3

Lecture 164 Level 1 – Bronze Medal

Lecture 165 Level 2 – Silver Medal

Lecture 166 Level 3 – Gold Medal

Lecture 167 Check out the completed app!

Lecture 168 Tip from Angela – Dealing with Frustration

Section 15: Flash Chat – Flutter x Firebase Cloud Firestore

Lecture 169 Flash Chat – A Lightning Fast Messaging App

Lecture 170 Named Routes Challenge

Lecture 171 [Dart] Static Modifier

Lecture 172 Refactor Routes with the Static Const

Lecture 173 Flutter Hero Animations

Lecture 174 Custom Flutter Animations with the Animation Controller

Lecture 175 [Dart] Mixins

Lecture 176 Prepackaged Flutter Animations

Lecture 177 Code Refactoring Challenge

Lecture 178 Creating a New Firebase Project

Lecture 179 Potential Problems When Incorporating Firebase

Lecture 180 Android Firebase Project Setup

Lecture 181 iOS Firebase Project Setup

Lecture 182 Firebase Flutter Packages Setup (iOS & Android)

Lecture 183 Registering Users with Firebase using FirebaseAuth

Lecture 184 Authenticating Users with FirebaseAuth

Lecture 185 Showing a Spinner while the User Waits

Lecture 186 Saving Data into Cloud Firestore

Lecture 187 Listening for Data from Firebase using Streams

Lecture 188 [Dart] Streams

Lecture 189 Turning Streams into Widgets Using the StreamBuilder

Lecture 190 The Flutter ListView

Lecture 191 A Different UI for Different Senders

Lecture 192 Cloud Firestore Authorisation and Security Rules

Lecture 193 Download the Completed Project

Lecture 194 Tip from Angela – Sleep is My Secret Weapon

Section 16: Flutter State Management

Lecture 195 Todoey – Your very own To-Do List App

Lecture 196 Designing the To-Do List App

Lecture 197 The ListView Challenge

Lecture 198 The BottomSheet Widget

Lecture 199 Positioning the BottomSheet above the Keyboard

Lecture 200 What is State and How do we Manage it?

Lecture 201 How do Callbacks work in Dart?

Lecture 202 The ListView Builder

Lecture 203 Lifting State Up Challenge

Lecture 204 Flutter App Architecture Patterns

Lecture 205 Introducing the Provider Package

Lecture 206 Using a Provider and a ChangeNotifier to Manage State

Lecture 207 Adding New To-Do List Tasks

Lecture 208 Checking off To-Do List Tasks

Lecture 209 Deleting Tasks using the Provider Design Pattern

Lecture 210 Download the Completed Project

Lecture 211 Tip from Angela – How to Solidify Your Knowledge

Section 17: Next Steps

Lecture 212 Join the #FlutterBrew Contest!

Lecture 213 Keep Learning!

Lecture 214 Publish Your Apps!

Lecture 215 Tip from Angela – Review your goals!

Section 18: Final Section

Lecture 216 Recording of our Live AMA (aka AAA – Ask Angela Anything)

Lecture 217 Bonus Lecture: Check out my other courses

If you have never programmed before, then take this course to learn Dart and build iOS and Android apps.,If you know how to code, but are new to mobile development, then take this course to build apps with just one codebase.,If you are a native app developer, then take this course to see how much time you can save building native-quality iOS and Android apps with Flutter.,If you’ve tried Flutter before, then take this course to get a comprehensive curriculum that covers all the important aspects of Flutter development

Course Information:

Udemy | English | 28h 47m | 18.98 GB
Created by: Dr. Angela Yu

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top