The Complete 2021 Flutter Development Bootcamp with Dart

The Complete 2021 Flutter Development Bootcamp with Dart

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 28.5 Hours | 15.7 GB

Officially created in collaboration with the Google Flutter team.

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.

From Beginner to Flutter Developer with Just One Course

We 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.

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
Table of Contents

Introduction to Cross-Platform Development with Flutter and Dart
1 Introduction to the Course
2 Download the Course Syllabus
3 What is Flutter
4 Why Flutter
5 The Anatomy of a Flutter App
6 How to Watch the Course in High Definition
7 How to Get the Most Out of the Course
8 Join the Student Community

Setup and Installation
9 Prerequisites for Flutter Development
10 Overview of the Process
11 Windows Setup Step 1 – Install the Flutter SDK
12 Windows Setup Step 2 – Install Android Studio
13 Windows Setup Step 3 – Install the Android Emulator
14 Windows Installation Troubleshooting
15 A Quick Note About macOS Catalina
16 Mac Setup Step 1 – Install the Flutter SDK
17 Mac Setup Step 2 – Install Android Studio
18 Mac Setup Step 3 – Install the Android Emulator
19 Mac Setup Step 4 – Install Xcode and Command Line Tools
20 Mac Setup Step 5 – Test the iOS Simulator
21 Mac Installation Troubleshooting
22 [Optional] Configure Android Studio for Flutter Development
23 [Optional] Guided Tour of Android Studio for Flutter Development

I Am Rich – How to Create Flutter Apps From Scratch
24 Creating a New Flutter Project from Scratch
25 A quick note about Hot Reload
26 Scaffolding a Flutter App
27 Working with Assets in Flutter & the Pubspec file
28 How to Add App Icons to the iOS and Android Apps
29 How to Ace this Course

Running Your App on a Physical Device
30 Deploying Your Flutter Apps to a Physical Device
31 Deploying Flutter Apps to an Android Phone
32 Deploying Flutter Apps to iPhones iPads
33 Tip from Angela – Habit Building with the Calendar Trick

I Am Poor – App Challenge
34 What are App Challenges
35 The I Am Poor Challenge
36 Show Off Your Work!
37 Tip from Angela – Dealing with Distractions
38 Do You Want This

MiCard – How to Build Beautiful UIs with Flutter Widgets
39 MiCard – A Single Screen Personal Business Card App
40 Hot Reload and Hot Restart – Flutter Power Tools
41 How to Use Container Widgets
42 How to use Column & Row Widgets for Layout
43 Flutter Layouts Challenge
44 Tapping into Widget Properties
45 Incorporating Custom Fonts in Your Flutter App
46 Adding Material Icons with the Icon Widget
47 Flutter Card & ListTile Widgets
48 Download the Completed Project
49 Tip from Angela – Nothing Easy is Worth Doing!

Dicee – Building Apps with State
50 Dicee – A Stateful Dice App
51 Using the Expanded Widget to Create Flexible Layouts
52 How to Use Intention Actions
53 Adding Gesture Detection with Flutter Button Widges
54 [Dart] Functions – Part 1
55 Making the Dice Image Change Reactively
56 [Dart] Variables
57 [Dart] Data Types
58 Stateful vs. Stateless Widgets – What’s the Difference
59 Randomising the Dice
60 Challenge 1 Solution
61 Challenge 2 Solution
62 Challenge 3 Solution
63 Download the Completed Project
64 Tip from Angela – How to Deal with Procrastination

Boss Level Challenge 1 – Magic 8 Ball
65 Magic 8 Ball – A Decision Making App
66 Step 1 – Set Up The Project
67 Step 2 – Create a Stateless Widget
68 Step 3 – Create a Stateful Widget
69 Step 4 – Make it Interactive
70 Step 5 – Randomise it
71 Step 6 – Update the State
72 Customise It!
73 Tip from Angela – Building a Programming Habit

Xylophone – Using Flutter and Dart Packages to Speed Up Development
74 Xylophone – A Simple Musical Instrument App
75 What are Flutter & Dart Packages
76 How to Play Sound Across Platforms
77 How to Play Multiple Sounds
78 [Dart] Functions – Part 2
79 Updating the UI of Our App
80 [Dart] Functions – Part 3
81 [Dart] Functions Challenge
82 Refactoring Our App
83 [Dart] Arrow Functions
84 Customise It!
85 Download the Completed Project
86 Tip from Angela – The 20 Minute Method

Quizzler -Modularising & Organising Flutter Code
87 Quizzler – A True False Quiz App
88 Building a Score Keeper
89 [Dart] Lists
90 Displaying the Questions
91 Checking User Answers
92 [Dart] Conditionals – IF ELSE
93 More Dart Programming Challenges
94 Creating a Question Class
95 [Dart] Classes and Objects
96 Abstraction in Action
97 Encapsulation in Action
98 Inheritance in Action
99 Polymorphism in Action
100 Adding Back the Score Keeper
101 Code Challenge
102 [Dart] Class Constructors
103 Download the Completed Project
104 Tip from Angela – Learning Before you Eat

Boss Level Challenge 2 – Destini
105 Destini – A Choose Your Own Adventure Game
106 Set Up the Project
107 Familiarise Yourself with the Starting Project
108 Step 1 – Adding a Image as a Background
109 Solutions on GitHub
110 Step 2 3 4 – Create a New Story Class
111 Step 5 6 7 – Create the Story Brain
112 Display the Story in the App
113 Step 11 12 13 14 – Display the Choices in the App
114 Update the Story Based on User Choice
115 Step 21 – Use the Story Plan to Progress through the Story
116 Step 22 23 24 – Restart the Game When the User Reaches the End
117 Step 25 – Renaming and Refactoring Using Android Studio
118 Step 26 27 28 – Hiding Buttons
119 Download the Completed App!
120 Tip from Angela – Retrieval is How You Learn

BMI Calculator – Building Flutter UI for Intermediates
121 BMI Calculator – A Beautiful Health App
122 How to Use Flutter Themes
123 How to Refactor Flutter Widgets
124 [Dart] Final vs. Const
125 Creating Custom Flutter Widgets
126 The GestureDetector Widget
127 [Dart] Enums
128 [Dart] Ternary Operator
129 [Dart] Functions as First Order Objects
130 The Flutter Slider Widget
131 Customising Widgets with Themes
132 Composition vs. Inheritance – Building Flutter Widgets From Scratch
133 Multi-Screen Apps Using Routes and Navigation
134 [Dart] Maps
135 Designing the Result Page
136 Adding the BMI Calculator Functionality
137 Download the Completed Project
138 Tip from Angela – Dealing with Lack of Progress

Clima – Powering Your Flutter App with Live Web Data
139 Clima – A Modern Weather App
140 Getting Location Data From Across Platforms
141 [Dart] Futures, Async & Await
142 Stateful Widget Lifecycle Methods
143 [Dart] Exception Handling & Null Aware Operators
144 Async Await Challenge
145 Application Programming Interfaces (APIs) Explained
146 Networking in Flutter Apps with the HTTP Package
147 JSON Parsing and Dynamic Types
148 Getting Actual Weather Data from the OpenWeatherMap API
149 Showing a Spinner While the User Waits
150 Passing Data to a State Object
151 Updating the Weather with the WeatherModel
152 Refactoring the Location Methods
153 Creating and Styling a TextField Widget for Text Entry
154 Passing Data Backwards Through the Navigation Stack
155 Download the Completed Project
156 Tip from Angela – Mixing Knowledge

Boss Level Challenge 3 – Bitcoin Ticker
157 Bitcoin Ticker – A Simple Cryptocurrency Price Tracker
158 The Material DropdownButton Widget
159 [Dart] Loops
160 Building Widgets with Loops Solution
161 Introducing Cupertino Widgets
162 Building Platform Specific UI (iOS & Android)
163 Introduction to Boss Level Challenge 3
164 Level 1 – Bronze Medal
165 Level 2 – Silver Medal
166 Level 3 – Gold Medal
167 Check out the completed app!
168 Tip from Angela – Dealing with Frustration

Flash Chat – Flutter x Firebase Cloud Firestore
169 Flash Chat – A Lightning Fast Messaging App
170 Named Routes Challenge
171 [Dart] Static Modifier
172 Refactor Routes with the Static Const
173 Flutter Hero Animations
174 Custom Flutter Animations with the Animation Controller
175 [Dart] Mixins
176 Prepackaged Flutter Animations
177 Code Refactoring Challenge
178 Creating a New Firebase Project
179 Potential Problems When Incorporating Firebase
180 Android Firebase Project Setup
181 iOS Firebase Project Setup
182 Firebase Flutter Packages Setup (iOS & Android)
183 Registering Users with Firebase using FirebaseAuth
184 Authenticating Users with FirebaseAuth
185 Showing a Spinner while the User Waits
186 Saving Data into Cloud Firestore
187 Listening for Data from Firebase using Streams
188 [Dart] Streams
189 Turning Streams into Widgets Using the StreamBuilder
190 The Flutter ListView
191 A Different UI for Different Senders
192 Cloud Firestore Authorisation and Security Rules
193 Download the Completed Project
194 Tip from Angela – Sleep is My Secret Weapon

Flutter State Management
195 Todoey – Your very own To-Do List App
196 Designing the To-Do List App
197 The ListView Challenge
198 The BottomSheet Widget
199 Positioning the BottomSheet above the Keyboard
200 What is State and How do we Manage it
201 How do Callbacks work in Dart
202 The ListView Builder
203 Lifting State Up Challenge
204 Flutter App Architecture Patterns
205 Introducing the Provider Package
206 Using a Provider and a ChangeNotifier to Manage State
207 Adding New To-Do List Tasks
208 Checking off To-Do List Tasks
209 Deleting Tasks using the Provider Design Pattern
210 Download the Completed Project
211 Tip from Angela – How to Solidify Your Knowledge

Next Steps
212 Join the #FlutterBrew Contest!
213 Keep Learning!
214 Publish Your Apps!
215 Tip from Angela – Review your goals!

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