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