Flutter Developer Bootcamp

35h 46m 42s
English
Paid
October 30, 2023

Flutter is explosively taking over the cross-platform front-end market. Although it's only 2.5 years since the first stable release, it has surpassed any other competing framework on Google Trends . But this is the least that Flutter has to show for itself...

More

Don't Miss The Opportunity Called "Flutter"

Flutter is explosively taking over the cross-platform front-end market. Although it's only 2.5 years since the first stable release, it has surpassed any other competing framework on Google Trends . But this is the least that Flutter has to show for itself...

Companies all around the world are heavily investing into Flutter. And it's not only new projects that are hopping on board - apps which are already released and with millions of users are being migrated to Flutter as we speak!

Think about it - you already have an app released which is built in native Android & iOS or React Native. You've invested millions of dollars into that app's code, users are reasonably happy and the app generates millions in revenue... Now, despite this huge previous investment, you still decide Flutter is the way to go forward. Crazy right?

Yes, Flutter is so crazily good that companies are willing to invest a lot of money to have their flagship apps rebuilt in it. That's the story of Google Ads and Google Pay - two of Google's biggest moneymakers. Brand new apps which Google sets out to build are also written in Dart & Flutter. One them is the client app for Stadia - the cloud gaming service.

Sure, Google is the company which stands behind Flutter, so it's not really that surprising to see it used so extensively over there. Still, the migration or new development of mission-critical apps is not something to be overlooked. Google simply believes that Flutter is the future and they don't fear to invest millions, if not billions of dollars in it. 

However, Flutter is spreading like a wildfire outside of its parent company too! Even banks (which have a very strict criteria when choosing technologies) have chosen Flutter. The Polish branch of the ING bank has fully switched their Android/iOS native app to Flutter and Nubank, the largest digital bank outside Asia, now develops all new features in Flutter.

Entire teams are transitioning to building apps with the Flutter framework and companies all around the world are actively hiring Flutter developers.

Big players like eBayPhilipsAlibabaBMWToyotaSquare, and many others are using Flutter to bring their projects to life for millions of users. Of course, such massive adoption means there are more and more Flutter jobs each day, and this trend is not slowing down anytime soon.

Smaller companies are also finding out about the benefits of this framework, which opens up even more opportunities for you as a developer. From my personal experience, even non-technical business owners are getting increasingly more interested in Flutter and what it has to offer for their growth.

There are entire software development studios adopting Flutter as their main UI technology. One of the leading software studios building apps for clients all around the world in Flutter is LeanCode. They've successfully built apps for industries ranging from energy to food products. As if that weren't enough, this is also the company behind the world's largest community-driven Flutter conference in the world to date, Flutter Europe.

Be a Developer in the Fastest Growing UI Framework!

  • The average Flutter developer salary in San Francisco is $148,315 USD per year!
  • Google, Microsoft, Toyota, Alibaba, eBay and many more are heavily investing into Flutter.
  • I personally scored a contract with a billion-dollar company, charging $150 USD per hour. 
  • Flutter is the fastest growing cross-platform framework supporting mobile, web and desktop from a single codebase.

Watch Online Flutter Developer Bootcamp

Join premium to watch
Go to premium
# Title Duration
1 Windows Flutter Install 07:59
2 Windows Android Setup 05:07
3 MacOS Flutter Install 06:40
4 MacOS iOS Android Setup 08:53
5 Turning VS Code Into a Flutter IDE 13:58
6 (Optional) Configuring VS Code to Look Exactly Like Mine 03:03
7 Flutter-Specific VS Code Settings 02:04
8 Dart Module Introduction 06:08
9 Variables and Primitive Types 14:15
10 Non-Nullability 06:54
11 Operators 10:12
12 Control Flow - If and Switch 06:07
13 Control Flow - Loops 05:22
14 Functions - Basics 05:17
15 Functions - Parameters 10:31
16 Functions - Higher Order 12:51
17 Collections - Basics 09:14
18 Collections - Transformations 07:51
19 Collections - If, For, Spread 05:02
20 Enums 06:11
21 The Pub Package System 06:53
22 Linting 03:21
23 Classes - Basics 16:31
24 Classes - Static Members 02:24
25 Classes - Private Members 06:23
26 Classes - Properties 11:24
27 Classes - Equality 06:56
28 Inheritance - Extending a Class 15:38
29 Factory Constructors 03:57
30 Inheritance - Abstract Classes 04:19
31 Inheritance - Interfaces 06:05
32 Generics 03:13
33 Mixins 05:48
34 Extensions 04:52
35 More About Files and Packages 03:16
36 Immutable Data Classes - Basics 09:53
37 Freezed Data Classes 11:55
38 Freezed Unions 16:18
39 Error Handling 06:32
40 Asynchrony - Futures 12:09
41 Asynchrony - Stream Basics 05:25
42 Asynchrony - Stream Generators and Operators 06:21
43 Module Introduction 05:30
44 Flutter 101 23:18
45 Reorganizing The Default App 06:02
46 RangeSelectorPage Outline 04:16
47 Creating the Input Form UI 06:16
48 Removing Widget Code Duplication 02:19
49 Minimum and Maximum Range Fields 07:13
50 Field Validators 02:51
51 Validating and Saving the Form 06:25
52 Extracting the Form Into a Separate Widget 11:14
53 Navigating to the Randomizer Page 09:38
54 Implementing the Randomizer Page 13:20
55 Reimplementing With Flutter Hooks 14:22
56 Creating a ChangeNotifier 10:10
57 Providing the ChangeNotifier Around the App Using Provider 15:36
58 Adding a Riverpod Dependency 05:29
59 Using ChangeNotifier With Riverpod 16:25
60 Managing State Immutably With StateNotifier 20:12
61 Repo Viewer Module Introduction 14:16
62 Setting Up the Project 08:22
63 Creating an OAuth App and a Personal Access Token 06:39
64 Making a Test Authorized Request 05:25
65 Overview of the OAuth2 Authorization Code Flow 05:31
66 Architectural Overview 18:47
67 Adding Dependencies 13:16
68 Setting Up Analysis Options 04:21
69 Auth Failure 07:20
70 Starting With the Auth Infrastructure Layer 07:18
71 Secure Credentials Storage 15:00
72 Getting Signed-In Credentials 08:49
73 IDs, Scopes and Endpoints 11:19
74 Creating the AuthorizationCodeGrant 06:22
75 Handling the Authorization Response 09:51
76 Changing the Access Token Response Format To JSON 09:27
77 Signing Out and Token Revocation 24:05
78 Handling the Offline Sign Out Behavior 08:50
79 DioError Extension 05:54
80 Refresh Credentials Method 10:08
81 Starting With the Auth Application Layer 08:58
82 Writing the First AuthNotifier Method 06:42
83 Creating an AuthUriCallback 14:50
84 Orchestrating the Sign In Process 06:15
85 Sign Out and Auth Application Layer Conclusion 03:54
86 Auth Providers 12:10
87 Setting Up Presentation Layer Pages 05:38
88 Creating an AppWidget 06:33
89 Setting Up AutoRoute 12:28
90 Creating a Splash Page 09:54
91 Initialization Provider 07:43
92 Navigating Based On the AuthState 10:40
93 Building the Sign-In Page UI 12:16
94 Paving the Way for the Auth WebView 08:02
95 Auth Callback Functions 09:42
96 Creating a WebView 07:17
97 Intercepting Redirection Attempts & Finishing the WebView 10:50
98 Android-Specific WebView Setup 05:58
99 Researching the GitHub API Endpoints 29:57
100 Similarities Between Starred And Search Endpoints 06:48
101 Creating the GitHub Feature Folder Structure 08:11
102 GitHub Domain Entities 13:35
103 GitHub Failure 02:19
104 Starting With the Data Transfer Objects 06:40
105 Using Json Serializable 10:41
106 Converting Between DTOs and Entities 03:44
107 GithubRepoDTO 09:51
108 Converting the GithubRepoDTO Between Layers 03:31
109 Explanation of ETags and General Caching 06:24
110 First Draft of the StarredReposRemoteService Interface 03:25
111 Creating a RemoteResponse Union 06:11
112 Setting Up a SembastDatabase Class 20:44
113 Registering a Sembast Provider 03:33
114 Implementing the First Version of the GithubHeaders Data Class 09:49
115 Parsing the Link Header for Pagination Purposes 28:22
116 Caching the GitHub Headers 15:51
117 Getting Starred Repos Page - Starting With the Implementation 22:16
118 Getting Starred Response Page - Handling All RemoteResponse Cases 12:03
119 Passing the Max Page Number in the RemoteResponse 15:55
120 Indicating Freshness of the Data 13:42
121 StarredReposRepository Implementation Part 1 - Using Only Remote Service 12:25
122 StarredReposLocalService - Upserting a Page 15:31
123 StarredReposLocalService - Reading a Page 15:04
124 StarredReposRepository Implementation Part 2 - Local Service 07:12
125 OAuth2Interceptor Part 1 18:46
126 OAuth2Interceptor Part 2 12:44
127 Providing the OAuth2Interceptor 13:54
128 Creating a StarredReposState 21:47
129 StarredReposNotifier - First Setup 06:25
130 Finishing the StarredReposNotifier 13:18
131 Providers for the Starred Repos Feature 09:15
132 Initial Creation of the PaginatedReposListView 14:33
133 Configuring the PaginatedReposListView 13:37
134 Repo Tile Initial Creation and Fighting Fires 14:25
135 Repo Tile Part 1 09:04
136 Fixing Dio's Wrong 304 Status Code Categorization 05:39
137 Repo Tile Part 2 09:03
138 Loading Repo Tile - Shimmer Effect 11:19
139 Loading Repo Tile - Layout 20:41
140 Failure Repo Tile 25:24
141 Adding Pagination Part 1 08:53
142 Adding Pagination Part 2 14:49
143 No Connection Toast 14:36
144 No Results Display 11:17
145 Using the Local Page Count In the No Connection State 08:42
146 Searched Repos Feature Overview 11:13
147 Removing Duplication - Repos Remote Service 13:06
148 Creating Searched Repos Repository 10:49
149 Removing Duplication - Paginated Repos Notifier 12:24
150 Searched Repos Providers and Start of Dependency Generalization 08:53
151 Finishing the Dependency Generalization 12:33
152 Creating the Searched Repos Page 10:08
153 Fixing the Old Data Issue With AutoDispose Provider 05:41
154 Explanation of the Search Feature 07:42
155 Watching Search Terms 13:00
156 Adding Search Terms and Sorting 07:27
157 Deleting and Putting Search Terms First 16:36
158 Search History Application Layer 12:00
159 Creating a SearchBar Widget and Search Feature Providers 13:25
160 Adding Parameters to the Search Bar 10:38
161 Building the Search Bar UI Part 1 11:52
162 Fixing the Failure Repo Tile 03:47
163 Building the Search Bar UI Part 2 10:44
164 Search Bar Actions 07:09
165 Minimum Viable Search Bar UI 12:22
166 The onSubmitted Search Bar Callback 09:00
167 Search Bar Dropdown Background 09:39
168 Finishing Up the Search Bar 25:16
169 Adding Search Bar to the Searched Repos Page 17:14
170 Platform-Adaptive Search Bar Back Button 09:28
171 Overview of the Repo Detail Feature 17:49
172 Creating Repo Detail Entity and DTO 14:04
173 Getting the Readme HTML 08:13
174 Getting the Starred Status of a Repo 08:40
175 Switching the Starred Status of a Repo 10:21
176 Local Repo Detail Service Part 1 22:10
177 Local Repo Detail Service Part 2 - Last Used Timestamp 16:37
178 Local Repo Detail Service Part 3 - Finishing Up the Caching Strategy 09:25
179 Deleting the Repo Detail Headers 04:21
180 Repo Detail Repository Part 1 08:27
181 Repo Detail Repository Part 2 16:16
182 Repo Detail State and Notifier 13:31
183 Optimistic Updates in the Repo Detail Notifier 17:33
184 Preparing the Repo Detail Page 18:56
185 Changing the App Bar Color 05:13
186 Providers for the Repo Detail Subfeature 04:47
187 Repo Detail Page Part 1 31:07
188 Repo Detail Page Part 2 18:35
189 Opening Links in an External Browser 06:32
190 Module Recap 05:19
191 Initial Setup 12:55
192 Writing Strings and Using Them Within the App 15:30
193 Supporting Plural Strings 08:24
194 Adding Another Language 09:52
195 Module Introduction and Setup 09:35
196 The Need for Method Channels 08:21
197 Exploring the Native Code and Writing Dart Code 13:34
198 Enabling Code Completion for Writing Kotlin 13:04
199 Creating an Android Notification Channel 19:29
200 Showing a Notification on Android 12:24
201 Using the Plugin From a Flutter App and Showcasing on Android 07:08
202 Opening the iOS Plugin Project in XCode 07:00
203 Showing a Notification on iOS 22:51

Similar courses to Flutter Developer Bootcamp

Dart 101

Dart 101fireship.io

Duration 46 minutes 8 seconds
Flutter In Production

Flutter In Productioncode with andrea

Duration 19 minutes 8 seconds
Flutter Masterclass

Flutter MasterclassNet Ninja

Duration 14 hours 56 minutes 50 seconds
Flutter Firebase - The Full Course

Flutter Firebase - The Full Coursefireship.io

Duration 1 hour 48 minutes 32 seconds