Tags
Language
Tags
December 2024
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4

The Ultimate Dart & Flutter Course 2023

Posted By: ELK1nG
The Ultimate Dart & Flutter Course 2023

The Ultimate Dart & Flutter Course 2023
Published 8/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 25.12 GB | Duration: 41h 9m

A Complete Guide / Tutorial to the Flutter & Dart SDK for building native Android, iOS, Web & Desktop Applications!

What you'll learn

Learn Flutter and Dart from scratch, gaining a step-by-step understanding of all fundamental concepts.

Build Responsive & Adaptive Cross-Platform iOS, Android, Web and Desktop apps with a single codebase.

Learn to create responsive Flutter applications that adapt seamlessly to different screen sizes and orientations.

Build fully functional & visually appealing Flutter applications, covering both front-end UI design and back-end integration with Firebase.

Create a Currency Converter, Weather Forecast, Shop App, Google Search Clone, Voice Assistant App powered by ChatGPT & Dall-E API and Full Stack Reddit Clone.

Gain insights into Flutter's rendering, state management and "behind the scenes stuff" that will allow you to optimize app performance.

Requirements

You can use any system to follow along but keep in mind - iOS apps can only be built on macOS.

10GB of free space on your hard drive.

No programming experience required.

No iOS or Android Background required.

Description

This comprehensive course is designed to take you from a complete novice to a confident Flutter developer, capable of building full-stack apps using clean code techniques.I believe in laying strong foundations for learning. That's why I start by teaching you Dart, Flutter's programming language, independently, without using Flutter at all. By mastering Dart first, you'll gain a solid understanding of its syntax, concepts, and principles, setting you up for success throughout the rest of the course.Once you've mastered Dart, we dive headfirst into the world of Flutter. Throughout the course, we'll cover various aspects of Flutter, such as widgets, layouts, responsive layouts, state management using both - Provider and Riverpod and much more. Navigation is a crucial aspect of any app. I leave no stone unturned to explore Navigator 1.0 and Navigator 2.0, helping you understand the best practices for smooth navigation within your apps. Flutter is an incredibly powerful framework, and I want you to harness its full potential. That's why I also provide you with a brief overview of the inner workings of Flutter, including how it handles rendering, state management, and other "behind-the-scenes" magic. This knowledge will set you apart as a truly proficient Flutter developer.Learning by doing is the best way to master any skill. Thus, in this course you'll build several exciting app projects like Currency Converter, Realtime Weather Forecast, Shopping App, Responsive Google Search Clone, Voice Assistant App powered by ChatGPT and Dall-E and a Full Stack Reddit Clone using Firebase backend (Know more about each of the apps we build in the free video previews)!The approach to teaching goes beyond just giving you ready-made solutions. I firmly believe in empowering you to learn by teaching you various aspects of Flutter, such as Animations and Automated Testing, independently of each other. This will enable you to understand the underlying principles and apply your knowledge creatively in various scenarios, not just in building the apps we build.I understand that learning a new language and a new framework like Flutter can be challenging, even for experienced developers. But don't worry about it! This is a zero-to-hero Flutter course, meaning we start from scratch and take you on an incredible journey to become a confident Flutter developer. You'll go from knowing nothing about Dart, Flutter (or even programming) to becoming proficient in developing clean, efficient and powerful apps. So, if you're read to empower yourself with valuable skills that will open doors to countless opportunities in the world of app development, enrol now and let's begin this thrilling adventure together!

Overview

Section 1: Introduction

Lecture 1 Introduction

Section 2: Introduction To Dart

Lecture 2 Introduction

Lecture 3 What is Dart?

Lecture 4 Dart SDK

Section 3: Operators, Comments & Variables

Lecture 5 Print Statement

Lecture 6 Operators

Lecture 7 Comments

Lecture 8 Variables

Lecture 9 var, const and final Variables

Lecture 10 final vs const variables

Lecture 11 Optional/ Nullable Variables

Section 4: Control Flow

Lecture 12 If Condition

Lecture 13 Ternary Conditions

Lecture 14 Switch Statement

Lecture 15 Exercise 1

Lecture 16 For Loop

Lecture 17 While Loop

Lecture 18 Do While Loop

Lecture 19 continue keyword

Lecture 20 Exercise 2

Lecture 21 break keyword

Section 5: Functions

Lecture 22 Functions

Lecture 23 Returning 2 Values from a Function (Records)

Lecture 24 Patterns

Lecture 25 Returning Nullable Variables/Values

Lecture 26 Function Positional Arguments & Global Variables

Lecture 27 Function Named Arguments

Lecture 28 Named Records

Lecture 29 Returning Functions from Functions

Lecture 30 Arrow Function

Lecture 31 Anonymous Functions

Section 6: Classes

Lecture 32 Classes

Lecture 33 Constructor

Lecture 34 this keyword

Lecture 35 Positional Constructor Arguments

Lecture 36 Immutable Classes

Lecture 37 Named Constructor Arguments

Lecture 38 Classes Terminology

Lecture 39 Private Variables

Lecture 40 Getters

Lecture 41 Setters

Lecture 42 Static Variables

Lecture 43 Static Functions

Lecture 44 When to use static keyword?

Section 7: Object Oriented Programming (OOP)

Lecture 45 Inheritance

Lecture 46 implements keyword

Lecture 47 Abstract Classes

Lecture 48 Object Oriented Programming (OOP) in Dart

Lecture 49 Polymorphism

Lecture 50 Abstraction

Lecture 51 Encapsulation

Lecture 52 OOP Brief

Lecture 53 Mixins

Lecture 54 Class Modifiers

Section 8: Lists, Maps & Enums

Lecture 55 Lists

Lecture 56 Sets

Lecture 57 Maps

Lecture 58 Enums

Lecture 59 Enhanced Enums

Section 9: Asynchronous Programming

Lecture 60 Exception Handling

Lecture 61 Futures (Promises)

Lecture 62 Streams

Section 10: More on Records, Patterns & Extensions

Lecture 63 Creating Records

Lecture 64 Patterns & Pattern Matching

Lecture 65 Extensions

Section 11: Flutter Installation

Lecture 66 Introduction

Lecture 67 Installing Flutter

Lecture 68 Installing Android Studio & Configuring for Android

Lecture 69 Installing Xcode & Configuring for iOS

Lecture 70 Installing VS Code

Lecture 71 Exploring VS Code

Lecture 72 Creating Flutter Project

Lecture 73 Exploring Folders Flutter Creates

Lecture 74 Increasing Font Size in VS Code

Lecture 75 Highlighting Code in VS Code

Lecture 76 Running Flutter App

Section 12: Flutter Basics

Lecture 77 Writing First Flutter Code!

Lecture 78 Importing Packages and material.dart

Lecture 79 runApp function in Flutter

Lecture 80 What are Widgets?

Lecture 81 Text Widget

Lecture 82 Types of Widgets

Lecture 83 What is State in Flutter

Lecture 84 What is Stateless Widget in Flutter?

Lecture 85 Material & Cupertino Design

Lecture 86 What is MaterialApp in Flutter?

Lecture 87 What is Scaffold in Flutter?

Lecture 88 Center Widget

Lecture 89 Widget Tree

Lecture 90 Splitting & Extracting Widgets

Lecture 91 What is BuildContext?

Lecture 92 Importing Files & Magic of Flutter Extension

Lecture 93 Relative Importing

Section 13: Currency Converter App

Lecture 94 Breaking Down The Currency Converter App

Lecture 95 Column Widget

Lecture 96 ColoredBox Widget

Lecture 97 Color Class

Lecture 98 TextStyle

Lecture 99 Colors

Lecture 100 TextField Widget

Lecture 101 Why Build Function Should Contain NO Complex Tasks

Lecture 102 Changing Keyboard Type For TextField Input

Lecture 103 Padding Widget

Lecture 104 Container Widget

Lecture 105 Padding vs Margin - The Difference

Lecture 106 TextButton Widget

Lecture 107 Print Statement & Warnings (Flutter Lints)

Lecture 108 TextButton Widget contd.

Lecture 109 ElevatedButton Widget

Lecture 110 Shortening the ButtonStyle!

Lecture 111 AppBar Widget

Lecture 112 Understanding the need For StatefulWidget

Lecture 113 StatefulWidget

Lecture 114 Build Function Can Be Called How Many Times?

Lecture 115 setState

Lecture 116 Handling Edge Cases

Lecture 117 CupertinoApp & iOS Styled Widgets

Lecture 118 initState and dispose

Lecture 119 Recap & Widgets LifeCycle

Section 14: Weather App

Lecture 120 Weather App Demo

Lecture 121 Analysing the default Flutter Code

Lecture 122 Weather App Setup

Lecture 123 GestureDetector and InkWell Widget

Lecture 124 IconButton Widget

Lecture 125 Planning the Body of Weather App using PlaceHolder Widget

Lecture 126 Card Widget

Lecture 127 ClipRRect Widget

Lecture 128 Backdrop and ImageFilter Widget

Lecture 129 Text For Weather App

Lecture 130 Row Widget

Lecture 131 SingleChildScrollView Widget

Lecture 132 Working on Additional Info Section

Lecture 133 Passing Arguments Using Constructor

Lecture 134 http plugin in Flutter

Lecture 135 OpenMapWeather API

Lecture 136 Handling Future in initState

Lecture 137 Extracting Data from API in Flutter

Lecture 138 Displaying Loading Indicator

Lecture 139 FutureBuilder Widget

Lecture 140 Extracting Data From AsyncSnapshot

Lecture 141 for loop in Flutter UI

Lecture 142 ListView.builder Widget

Lecture 143 Date Formatting using intl

Lecture 144 Switching Themes

Lecture 145 Layout Principle In Flutter Explained

Lecture 146 Flutter Behind The Scenes, 3 Trees & BuildContext

Section 15: Shopping App

Lecture 147 Shopping App Demo

Lecture 148 Creating Shop App Project

Lecture 149 Adding Custom Fonts

Lecture 150 Theming, Color Scheme

Lecture 151 Creating a Header (SafeArea Widget)

Lecture 152 Expanded Widget in Column (For TextField Widget)

Lecture 153 Chip Widget

Lecture 154 How Theming Works Behind the Scenes (InheritedWidget)

Lecture 155 Selecting Filter contd…

Lecture 156 Adding Images and Product Dummy Data

Lecture 157 Displaying Products List on Home Page (Image Widget)

Lecture 158 Designing Product Details Page (Spacer and Flex Widget)

Lecture 159 Navigation & Routing

Lecture 160 How Navigator Works Behind The Scenes? (And State Management)

Lecture 161 BottomNavigationBar Widget

Lecture 162 IndexedStack Widget

Lecture 163 Designing Cart Page (ListTile Widget)

Lecture 164 State Management with Provider, SnackBar

Lecture 165 State Management Note

Lecture 166 Why I Don't Recommend Using GetX?

Lecture 167 Dialogs in Flutter

Lecture 168 Provider Extension Methods on BuildContext

Lecture 169 Provider State Management Recap

Lecture 170 Responsive UI in Flutter (GridView, MediaQuery)

Lecture 171 InheritedWidget vs InheritedModel

Lecture 172 Responsive UI in Flutter (LayoutBuilder Widget)

Lecture 173 MediaQuery vs LayoutBuilder

Lecture 174 Challenge: Make Weather App Responsive

Lecture 175 Flutter Widgets Sizing Summary

Section 16: Google Search Clone with API Integration

Lecture 176 Demo

Lecture 177 Important Note

Lecture 178 Creating & Setting Up Flutter Project

Lecture 179 Creating Responsive Layout

Lecture 180 Main Screen AppBar

Lecture 181 Main Screen Body

Lecture 182 Main Screen Footer

Lecture 183 Making the Main Screen Responsive

Lecture 184 Search Results UI

Lecture 185 Getting API & Context Key

Lecture 186 Building Search Results UI

Lecture 187 Adding Pagination

Lecture 188 Responsive Search Results UI

Lecture 189 Changing Title Of Website

Lecture 190 Making Some Minor Changes

Section 17: Beautiful Login UI

Lecture 191 Introduction

Lecture 192 Project Setup

Lecture 193 Adding Text & Image

Lecture 194 Outlined Buttons

Lecture 195 TextFields

Lecture 196 Gradient Buttons

Lecture 197 Conclusion

Section 18: Voice Assistant App Powered By ChatGPT & Dall-E

Lecture 198 Introduction & Demo

Lecture 199 Setting up Flutter Project

Lecture 200 Virtual Voice Assistant UI

Lecture 201 Flutter Speech To Text

Lecture 202 UPDATE in OpenAI API Billing

Lecture 203 OpenAI API

Lecture 204 ChatGPT API Integration

Lecture 205 AI Image Generation using Dall-E API

Lecture 206 Flutter Text to Speech / Flutter TTS

Lecture 207 Toggling Widgets’ Visibility

Lecture 208 Adding Animations

Lecture 209 Conclusion

Section 19: State Management with Riverpod & Code Generation

Lecture 210 Introduction

Lecture 211 Why should we use Riverpod?

Lecture 212 Getting Started with Riverpod

Lecture 213 ProviderScope

Lecture 214 Provider

Lecture 215 Reading Providers using ConsumerWidget

Lecture 216 Reading Providers using Consumer

Lecture 217 ConsumerWidget vs Consumer

Lecture 218 ref.watch vs ref.read

Lecture 219 StatefulConsumerWidget

Lecture 220 StateProvider

Lecture 221 StateNotifier & StateNotifierProvider

Lecture 222 Select Property

Lecture 223 ChangeNotifier & ChangeNotifierProvider

Lecture 224 FutureProvider

Lecture 225 AsyncValue

Lecture 226 ProviderRef

Lecture 227 StreamProvider

Lecture 228 Modifiers

Lecture 229 .family

Lecture 230 .autoDispose

Lecture 231 Recap of all Providers

Lecture 232 Ref

Lecture 233 Useful Methods on ProviderRef

Lecture 234 ProviderObserver

Lecture 235 Limitations of Riverpod

Lecture 236 Flutter Riverpod Snippets (VS Code Extension)

Lecture 237 Riverpod Generator + Annotation

Lecture 238 Limitations of Riverpod Generator (till now)

Lecture 239 New in Riverpod!

Lecture 240 Create Custom Code Generator in Flutter

Section 20: Full Stack Reddit Clone

Lecture 241 Introduction

Lecture 242 Project Setup

Lecture 243 Folder Structure Explanation

Lecture 244 Login Screen UI

Lecture 245 What is Firebase?

Lecture 246 Firebase Setup

Lecture 247 Google Sign In Firebase Authentication

Lecture 248 Storing Data to Firebase

Lecture 249 Efficient Exception Handling Technique

Lecture 250 Storing Data to Provider

Lecture 251 Route Management

Lecture 252 Firebase State Persistence

Lecture 253 Home Screen AppBar UI

Lecture 254 Community List Flutter Drawer

Lecture 255 Create Community Screen UI

Lecture 256 Creating Communities and Storing to Firebase

Lecture 257 Displaying User Communities

Lecture 258 Community Profile UI

Lecture 259 Mod Tools UI

Lecture 260 Edit Community Screen UI

Lecture 261 Editing Community

Lecture 262 Searching Communities

Lecture 263 Logging User Out

Lecture 264 User Profile Drawer UI

Lecture 265 Joining & Leaving Communities

Lecture 266 Adding Moderators

Lecture 267 User Profile UI

Lecture 268 Edit User Profile

Lecture 269 Toggling Theme

Lecture 270 Bottom Nav Bar

Lecture 271 Add Post Screen UI

Lecture 272 Sharing Link, Image & Text Only Posts

Lecture 273 Fetching Feed Posts

Lecture 274 Deleting Posts

Lecture 275 Upvoting/Downvoting Posts

Lecture 276 Moderator Option on Posts

Lecture 277 Displaying Posts on User Profile

Lecture 278 Comments on Posts

Lecture 279 Updating User Karma Based on Activities

Lecture 280 Awarding the Post/User

Lecture 281 Firebase Login as Guest

Lecture 282 Restricting Guest Features

Lecture 283 Running on Web - Flutter Responsive UI

Lecture 284 Note About GoRouter in Flutter

Lecture 285 [OPTIONAL] GoRouter - Navigator 2.0

Lecture 286 Conclusion

Section 21: Animations

Lecture 287 Coming Soon!

Section 22: Flutter Automated Testing

Lecture 288 Introduction To Testing

Lecture 289 Unit Test Basics & Writing Testable Code: Counter App

Lecture 290 Unit Test Mocking & Stubbing: API App

Lecture 291 Widget Test: Counter App

Lecture 292 Widget Test: API App

Lecture 293 Widget Test: Animations App

Lecture 294 Integration Test

Lecture 295 Testing Firebase Apps

Section 23: [EXTRA] Image Editing App without Plugins!

Lecture 296 Demo

Lecture 297 Setting Up The Project

Lecture 298 Picking Image from Gallery

Lecture 299 Adding New Text UI

Lecture 300 Adding New Text Logic

Lecture 301 Creating an AppBar

Lecture 302 Selecting Text

Lecture 303 Changing Text Colour

Lecture 304 Increasing Font Size

Lecture 305 Decreasing Font Size

Lecture 306 Aligning Texts

Lecture 307 Bolding Texts

Lecture 308 Italic Text

Lecture 309 Adding Lines for Text

Lecture 310 Deleting Text

Lecture 311 Saving Image to Gallery

Lecture 312 Conclusion

This course is intended for aspiring mobile app developers and programming enthusiasts seeking to create powerful applications using Flutter and Dart.,Whether you are a complete beginner or an experienced developer, you will gain the skills needed to build visually stunning cross-platform apps.