The Complete Flutter Development Bootcamp with Dart

The Complete Flutter Development Bootcamp with Dart
The Complete Flutter Development Bootcamp with Dart
English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 23 Hours | 11.8 MB

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.

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 23+ 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.

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.

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 Download the Course Syllabus
2 What is Flutter
3 Why Flutter
4 The Anatomy of a Flutter App
5 Course Resources
6 How to Get the Most Out of the Course

Setup and Installation
7 Prerequisites for Flutter Development
8 Mac Setup Step 5 – Test the iOS Simulator
9 [Optional] Configure Android Studio for Flutter Development
10 [Optional] Guided Tour of Android Studio for Flutter Development
11 Overview of the Process
12 Windows Setup Step 1 – Install the Flutter SDK
13 Windows Setup Step 2 – Install Android Studio
14 Windows Setup Step 3 – Install the Android Emulator
15 Mac Setup Step 1 – Install the Flutter SDK
16 Mac Setup Step 2 – Install Android Studio
17 Mac Setup Step 3 – Install the Android Emulator
18 Mac Setup Step 4 – Install Xcode and Command Line Tools

I Am Rich – How to Create Flutter Apps From Scratch
19 Creating a New Flutter Project from Scratch
20 Scaffolding a Flutter App
21 Working with Assets in Flutter & the Pubspec file
22 How to Add App Icons to the iOS and Android Apps

Running Your App on a Physical Device
23 Deploying Your Flutter Apps to a Physical Device
24 Deploying Flutter Apps to an Android Phone
25 Deploying Flutter Apps to iPhonesiPads

I Am Poor – App Challenge
26 Join the Student Community
27 What are App Challenges
28 The I Am Poor Challenge
29 Show Off Your Work!

MiCard – How to Build Beautiful UIs with Flutter Widgets
30 MiCard – A Single Screen Personal Business Card App
31 Hot Reload and Hot Restart – Flutter Power Tools
32 How to Use Container Widgets
33 How to use Column & Row Widgets for Layout
34 Flutter Layouts Challenge
35 Tapping into Widget Properties
36 Incorporating Custom Fonts in Your Flutter App
37 Adding Material Icons with the Icon Widget
38 Flutter Card & ListTile Widgets

Dicee – Building Apps with State
39 Dicee – A Stateful Dice App
40 Randomising the Dice
41 Challenge 1 Solution
42 Challenge 2 Solution
43 Challenge 3 Solution
44 Using the Expanded Widget to Create Flexible Layouts
45 How to Use Intention Actions
46 Adding Gesture Detection with Flutter Button Widges
47 [Dart] Functions – Part 1
48 Making the Dice Image Change Reactively
49 [Dart] Variables
50 [Dart] Data Types
51 Stateful vs. Stateless Widgets – What’s the Difference

Boss Level Challenge 1 – Magic 8 Ball
52 Magic 8 Ball – A Decision Making App
53 Step 1 – Set Up The Project
54 Step 2 – Create a Stateless Widget
55 Step 3 – Create a Stateful Widget
56 Step 4 – Make it Interactive
57 Step 5 – Randomise it
58 Step 6 – Update the State
59 Customise It!

Xylophone – Using Flutter and Dart Packages to Speed Up Development
60 Xylophone – A Simple Musical Instrument App
61 Customise It!
62 What are Flutter & Dart Packages
63 How to Play Sound Across Platforms
64 How to Play Multiple Sounds
65 [Dart] Functions – Part 2
66 Updating the UI of Our App
67 [Dart] Functions – Part 3
68 [Dart] Functions Challenge
69 Refactoring Our App

Quizzler -Modularising & Organising Flutter Code
70 Quizzler – A TrueFalse Quiz App
71 Abstraction in Action
72 Encapsulation in Action
73 Inheritance in Action
74 Polymorphism in Action
75 Adding Back the Score Keeper
76 Code Challenge
77 [Dart] Class Constructors
78 Building a Score Keeper
79 [Dart] Lists
80 Displaying the Questions
81 Checking User Answers
82 [Dart] Conditionals – IFELSE
83 More Dart Programming Challenges
84 Creating a Question Class
85 [Dart] Classes and Objects

Boss Level Challenge 2 – Destini
86 Destini – A Choose Your Own Adventure Game
87 Update the Story Based on User Choice
88 Step 21 – Use the Story Plan to Progress through the Story
89 Step 222324 – Restart the Game When the User Reaches the End
90 Step 25 – Renaming and Refactoring Using Android Studio
91 Step 262728 – Hiding Buttons
92 Download the Completed App!
93 Set Up the Project
94 Familiarise Yourself with the Starting Project
95 Step 1 – Adding a Image as a Background
96 Solutions on GitHub
97 Step 234 – Create a New Story Class
98 Step 567 – Create the Story Brain
99 Display the Story in the App
100 Step 11121314 – Display the Choices in the App

BMI Calculator – Building Flutter UI for Intermediates
101 BMI Calculator – A Beautiful Health App
102 The Flutter Slider Widget
103 Customising Widgets with Themes
104 Composition vs. Inheritance – Building Flutter Widgets From Scratch
105 Multi-Screen Apps Using Routes and Navigation
106 [Dart] Maps
107 Designing the Result Page
108 Adding the BMI Calculator Functionality
109 How to Use Flutter Themes
110 How to Refactor Flutter Widgets
111 [Dart] Final vs. Const
112 Creating Custom Flutter Widgets
113 The GestureDetector Widget
114 [Dart] Enums
115 [Dart] Ternary Operator
116 [Dart] Functions as First Order Objects

Clima – Powering Your Flutter App with Live Web Data
117 Clima – A Modern Weather App
118 Getting Actual Weather Data from the OpenWeatherMap API
119 Showing a Spinner While the User Waits
120 Passing Data to a State Object
121 Updating the Weather with the WeatherModel
122 Refactoring the Location Methods
123 Creating and Styling a TextField Widget for Text Entry
124 Passing Data Backwards Through the Navigation Stack
125 Getting Location Data From Across Platforms
126 [Dart] Futures, Async & Await
127 Stateful Widget Lifecycle Methods
128 [Dart] Exception Handling & Null Aware Operators
129 AsyncAwait Challenge
130 Application Programming Interfaces (APIs) Explained
131 Networking in Flutter Apps with the HTTP Package
132 JSON Parsing and Dynamic Types

Boss Level Challenge 3 – Bitcoin Ticker
133 Bitcoin Ticker – A Simple Cryptocurrency Price Tracker
134 Level 3 – Gold Medal
135 Check out the completed app!
136 The Material DropdownButton Widget
137 [Dart] Loops
138 Building Widgets with Loops Solution
139 Introducing Cupertino Widgets
140 Building Platform Specific UI (iOS & Android)
141 Introduction to Boss Level Challenge 3
142 Level 1 – Bronze Medal
143 Level 2 – Silver Medal

Flash Chat – Flutter x Firebase Cloud Firestore
144 Flash Chat – A Lightning Fast Messaging App
145 Creating a New Firebase Project
146 Potential Problems When Incorporating Firebase
147 Android Firebase Project Setup
148 iOS Firebase Project Setup
149 Firebase Flutter Packages Setup (iOS & Android)
150 Registering Users with Firebase using FirebaseAuth
151 Authenticating Users with FirebaseAuth
152 Showing a Spinner while the User Waits
153 Saving Data into Cloud Firestore
154 Listening for Data from Firebase using Streams
155 Named Routes Challenge
156 [Dart] Streams
157 Turning Streams into Widgets Using the StreamBuilder
158 The Flutter ListView
159 A Different UI for Different Senders
160 Cloud Firestore Authorisation and Security Rules
161 [Dart] Static Modifier
162 Refactor Routes with the Static Const
163 Flutter Hero Animations
164 Custom Flutter Animations with the Animation Controller
165 [Dart] Mixins
166 Prepackaged Flutter Animations
167 Code Refactoring Challenge

Next Steps
168 Join the #FlutterBrew Contest!
169 Keep Learning!
170 Publish Your Apps!