|
Please note that this page does not hosts or makes available any of the listed filenames. You
cannot download any of those files from here.
|
| [CourseClub.ME].url |
122B |
| [FCS Forum].url |
133B |
| [FreeCourseSite.com].url |
127B |
| 001 Course Introduction.en.srt |
3.51KB |
| 001 Course Introduction.id.srt |
3.64KB |
| 001 Course Introduction.mp4 |
16.94MB |
| 002 Course Content.en.srt |
3.86KB |
| 002 Course Content.id.srt |
4.07KB |
| 002 Course Content.mp4 |
17.69MB |
| 003 App Overview.en.srt |
4.49KB |
| 003 App Overview.id.srt |
4.49KB |
| 003 App Overview.mp4 |
61.82MB |
| 004 Making the most of this course.en.srt |
3.90KB |
| 004 Making the most of this course.id.srt |
4.14KB |
| 004 Making the most of this course.mp4 |
12.68MB |
| 005 What is Flutter.en.srt |
4.33KB |
| 005 What is Flutter.id.srt |
4.52KB |
| 005 What is Flutter.mp4 |
16.70MB |
| 006 The Dart Language.en.srt |
3.37KB |
| 006 The Dart Language.id.srt |
3.53KB |
| 006 The Dart Language.mp4 |
19.23MB |
| 007 Introduction to Dartpad.en.srt |
1.12KB |
| 007 Introduction to Dartpad.id.srt |
1.12KB |
| 007 Introduction to Dartpad.mp4 |
3.13MB |
| 008 A simple program.en.srt |
2.21KB |
| 008 A simple program.id.srt |
2.38KB |
| 008 A simple program.mp4 |
6.27MB |
| 009 Variable declaration and initialization.en.srt |
2.14KB |
| 009 Variable declaration and initialization.id.srt |
2.32KB |
| 009 Variable declaration and initialization.mp4 |
12.20MB |
| 010 String interpolation.en.srt |
3.53KB |
| 010 String interpolation.id.srt |
4.00KB |
| 010 String interpolation.mp4 |
11.96MB |
| 011 Type inference with var.en.srt |
3.40KB |
| 011 Type inference with var.id.srt |
3.49KB |
| 011 Type inference with var.mp4 |
16.07MB |
| 012 Var and final.en.srt |
2.29KB |
| 012 Var and final.id.srt |
2.52KB |
| 012 Var and final.mp4 |
9.44MB |
| 013 The dynamic keyword.en.srt |
2.30KB |
| 013 The dynamic keyword.id.srt |
2.58KB |
| 013 The dynamic keyword.mp4 |
9.02MB |
| 014 Introduction to functions.en.srt |
5.17KB |
| 014 Introduction to functions.id.srt |
5.58KB |
| 014 Introduction to functions.mp4 |
21.88MB |
| 015 Function return types.en.srt |
2.51KB |
| 015 Function return types.id.srt |
2.71KB |
| 015 Function return types.mp4 |
11.52MB |
| 016 Optional parameters nullability and default values.en.srt |
3.16KB |
| 016 Optional parameters nullability and default values.id.srt |
3.36KB |
| 016 Optional parameters nullability and default values.mp4 |
14.40MB |
| 017 Named parameters.en.srt |
2.44KB |
| 017 Named parameters.id.srt |
2.57KB |
| 017 Named parameters.mp4 |
12.22MB |
| 018 The arrow operator.en.srt |
2.32KB |
| 018 The arrow operator.id.srt |
2.42KB |
| 018 The arrow operator.mp4 |
12.41MB |
| 019 Introduction to classes.en.srt |
2.51KB |
| 019 Introduction to classes.id.srt |
2.63KB |
| 019 Introduction to classes.mp4 |
13.29MB |
| 020 Class constructors.en.srt |
3.73KB |
| 020 Class constructors.id.srt |
3.93KB |
| 020 Class constructors.mp4 |
19.74MB |
| 021 Instance methods.en.srt |
2.88KB |
| 021 Instance methods.id.srt |
2.91KB |
| 021 Instance methods.mp4 |
13.36MB |
| 022 Inheritance.en.srt |
3.39KB |
| 022 Inheritance.id.srt |
3.55KB |
| 022 Inheritance.mp4 |
18.52MB |
| 023 The super constructor.en.srt |
2.36KB |
| 023 The super constructor.id.srt |
2.41KB |
| 023 The super constructor.mp4 |
13.68MB |
| 024 The base Object class and the toString method.en.srt |
2.35KB |
| 024 The base Object class and the toString method.id.srt |
2.48KB |
| 024 The base Object class and the toString method.mp4 |
13.11MB |
| 025 Overriding the toString method.en.srt |
6.41KB |
| 025 Overriding the toString method.id.srt |
6.24KB |
| 025 Overriding the toString method.mp4 |
37.77MB |
| 026 Abstract classes.en.srt |
4.01KB |
| 026 Abstract classes.id.srt |
3.87KB |
| 026 Abstract classes.mp4 |
15.39MB |
| 027 More on abstract classes.en.srt |
2.83KB |
| 027 More on abstract classes.id.srt |
2.93KB |
| 027 More on abstract classes.mp4 |
14.22MB |
| 028 Using abstract classes with functions.en.srt |
2.34KB |
| 028 Using abstract classes with functions.id.srt |
2.36KB |
| 028 Using abstract classes with functions.mp4 |
10.98MB |
| 029 Computed properties.en.srt |
3.60KB |
| 029 Computed properties.id.srt |
3.81KB |
| 029 Computed properties.mp4 |
16.56MB |
| 030 Mixins.en.srt |
5.46KB |
| 030 Mixins.id.srt |
5.72KB |
| 030 Mixins.mp4 |
26.04MB |
| 031 Introduction to lists.en.srt |
4.51KB |
| 031 Introduction to lists.id.srt |
4.92KB |
| 031 Introduction to lists.mp4 |
18.66MB |
| 032 Introduction to maps.en.srt |
4.54KB |
| 032 Introduction to maps.mp4 |
15.27MB |
| 033 Generics and type annotations.en.srt |
5.91KB |
| 033 Generics and type annotations.mp4 |
23.46MB |
| 034 If and else statements.en.srt |
4.75KB |
| 034 If and else statements.mp4 |
16.83MB |
| 035 The ternary operator.en.srt |
2.93KB |
| 035 The ternary operator.mp4 |
10.38MB |
| 036 The while loop.en.srt |
3.62KB |
| 036 The while loop.mp4 |
14.62MB |
| 037 The for loop.en.srt |
2.41KB |
| 037 The for loop.mp4 |
9.11MB |
| 038 Closures and the fold method.en.srt |
5.21KB |
| 038 Closures and the fold method.mp4 |
20.06MB |
| 039 Enumerations.en.srt |
3.07KB |
| 039 Enumerations.mp4 |
12.95MB |
| 040 Switch statements.en.srt |
3.57KB |
| 040 Switch statements.mp4 |
17.28MB |
| 041 Wrap-up.en.srt |
1.61KB |
| 041 Wrap-up.mp4 |
9.62MB |
| 042 Useful Links Resources.html |
1.53KB |
| 043 macOS setup and Flutter 1.x.html |
1.29KB |
| 044 Flutter setup on macOS.en.srt |
3.32KB |
| 044 Flutter setup on macOS.mp4 |
27.13MB |
| 045 Setting the PATH variable.en.srt |
5.68KB |
| 045 Setting the PATH variable.mp4 |
59.12MB |
| 046 Flutter doctor.en.srt |
1.01KB |
| 046 Flutter doctor.mp4 |
13.30MB |
| 047 Xcode and iOS simulator setup.en.srt |
2.72KB |
| 047 Xcode and iOS simulator setup.mp4 |
33.77MB |
| 048 Installing Android Studio.en.srt |
8.39KB |
| 048 Installing Android Studio.mp4 |
45.85MB |
| 049 Installing the Android emulator.en.srt |
3.34KB |
| 049 Installing the Android emulator.mp4 |
16.24MB |
| 050 Running Flutter from the command line.en.srt |
6.92KB |
| 050 Running Flutter from the command line.mp4 |
75.37MB |
| 051 Flutter setup on Android Studio.en.srt |
4.70KB |
| 051 Flutter setup on Android Studio.mp4 |
33.09MB |
| 052 Installing Visual Studio Code.en.srt |
4.07KB |
| 052 Installing Visual Studio Code.mp4 |
29.13MB |
| 053 Useful Links Resources.html |
2.04KB |
| 054 Flutter setup on Windows.en.srt |
2.15KB |
| 054 Flutter setup on Windows.mp4 |
19.23MB |
| 055 Updating the path variable.en.srt |
2.73KB |
| 055 Updating the path variable.mp4 |
28.55MB |
| 056 Flutter doctor.en.srt |
1.16KB |
| 056 Flutter doctor.mp4 |
13.35MB |
| 057 Installing Android Studio.en.srt |
5.70KB |
| 057 Installing Android Studio.mp4 |
56.82MB |
| 058 Installing the Android emulator.en.srt |
4.31KB |
| 058 Installing the Android emulator.mp4 |
31.38MB |
| 059 Running Flutter from the command line.en.srt |
4.08KB |
| 059 Running Flutter from the command line.mp4 |
36.83MB |
| 060 Flutter setup on Android Studio.en.srt |
5.39KB |
| 060 Flutter setup on Android Studio.mp4 |
48.02MB |
| 061 Installing Visual Studio Code.en.srt |
3.55KB |
| 061 Installing Visual Studio Code.mp4 |
32.07MB |
| 062 Useful Links Resources.html |
2.04KB |
| 063 05.01-create-project-android-studio.zip |
353.83KB |
| 063 Creating a Flutter project with Android Studio.en.srt |
4.68KB |
| 063 Creating a Flutter project with Android Studio.mp4 |
56.69MB |
| 064 A tour of the project folders.en.srt |
3.36KB |
| 064 A tour of the project folders.mp4 |
37.69MB |
| 065 Running the Android emulator and iOS simulator.en.srt |
2.72KB |
| 065 Running the Android emulator and iOS simulator.mp4 |
30.20MB |
| 066 Overview of the Flutter counter app.en.srt |
1.51KB |
| 066 Overview of the Flutter counter app.mp4 |
13.55MB |
| 067 05.05-hot-reload-hot-restart.zip |
353.85KB |
| 067 Hot reload and hot restart.en.srt |
5.24KB |
| 067 Hot reload and hot restart.mp4 |
46.68MB |
| 068 Introduction to widgets.en.srt |
3.14KB |
| 068 Introduction to widgets.mp4 |
26.46MB |
| 069 The MaterialApp widget.en.srt |
2.54KB |
| 069 The MaterialApp widget.mp4 |
23.72MB |
| 070 The Scaffold widget.en.srt |
2.96KB |
| 070 The Scaffold widget.mp4 |
36.43MB |
| 071 The Flutter widget tree.en.srt |
4.26KB |
| 071 The Flutter widget tree.mp4 |
40.12MB |
| 072 Stateless and stateful widgets.en.srt |
3.24KB |
| 072 Stateless and stateful widgets.mp4 |
30.06MB |
| 073 Updating the counter with setState.en.srt |
2.37KB |
| 073 Updating the counter with setState.mp4 |
27.84MB |
| 074 Wrap up.en.srt |
1.48KB |
| 074 Wrap up.mp4 |
13.20MB |
| 075 Useful Links Resources.html |
1.47KB |
| 076 Shortcuts for VS Code and Android Studio.html |
1.54KB |
| 077 Overview of the Time tracker app.en.srt |
2.47KB |
| 077 Overview of the Time tracker app.mp4 |
19.39MB |
| 078 Switching between apps.en.srt |
1.26KB |
| 078 Switching between apps.mp4 |
12.76MB |
| 079 06.03-start-from-scratch.zip |
352.31KB |
| 079 Writing the root widget of the app.en.srt |
5.51KB |
| 079 Writing the root widget of the app.mp4 |
25.35MB |
| 080 06.04-MaterialApp-white-container.zip |
352.39KB |
| 080 Adding the MaterialApp.en.srt |
3.50KB |
| 080 Adding the MaterialApp.mp4 |
19.50MB |
| 081 06.05-add-sign-in-page.zip |
353.15KB |
| 081 Adding some folders to our project.en.srt |
2.82KB |
| 081 Adding some folders to our project.mp4 |
18.97MB |
| 082 06.06-add-sign-in-page.zip |
353.34KB |
| 082 Adding a sign-in page.en.srt |
4.48KB |
| 082 Adding a sign-in page.mp4 |
25.33MB |
| 083 The ThemeData class.en.srt |
2.76KB |
| 083 The ThemeData class.mp4 |
21.57MB |
| 084 06.08-app-bar-elevation.zip |
355.12KB |
| 084 The AppBar widget.en.srt |
3.31KB |
| 084 The AppBar widget.mp4 |
20.05MB |
| 085 06.09-container-column-sizedbox.zip |
355.27KB |
| 085 Preview of the SignInPage layout.en.srt |
1.80KB |
| 085 Preview of the SignInPage layout.mp4 |
10.94MB |
| 086 06.10-cross-axis-alignment.zip |
355.34KB |
| 086 Adding a Column layout.en.srt |
4.02KB |
| 086 Adding a Column layout.mp4 |
25.58MB |
| 087 The CrossAxisAlignment property.en.srt |
5.26KB |
| 087 The CrossAxisAlignment property.mp4 |
33.18MB |
| 088 06.12-code-formatting.zip |
355.38KB |
| 088 Code formatting with dartfmt.en.srt |
6.54KB |
| 088 Code formatting with dartfmt.mp4 |
45.49MB |
| 089 06.13-add-boxes-extract-method.zip |
355.46KB |
| 089 Adding some boxes and extracting code into a method.en.srt |
4.57KB |
| 089 Adding some boxes and extracting code into a method.mp4 |
35.20MB |
| 090 06.14-private-methods.zip |
355.51KB |
| 090 Private methods.en.srt |
4.60KB |
| 090 Private methods.mp4 |
31.01MB |
| 091 06.15-padding.zip |
355.57KB |
| 091 Adding some padding.en.srt |
5.86KB |
| 091 Adding some padding.mp4 |
47.50MB |
| 092 06.16-main-axis-alignment.zip |
355.62KB |
| 092 The MainAxisAlignment property.en.srt |
1.72KB |
| 092 The MainAxisAlignment property.mp4 |
13.35MB |
| 093 06.17-text-widget.zip |
355.72KB |
| 093 Text TextStyle and FontWeight.en.srt |
4.27KB |
| 093 Text TextStyle and FontWeight.mp4 |
34.06MB |
| 094 Introduction to buttons.en.srt |
2.30KB |
| 094 Introduction to buttons.mp4 |
18.74MB |
| 095 06.19-add-raised-button.zip |
353.67KB |
| 095 Adding the first button.en.srt |
4.33KB |
| 095 Adding the first button.mp4 |
32.64MB |
| 096 06.20-update-callback.zip |
353.66KB |
| 096 Button callbacks explained.en.srt |
5.20KB |
| 096 Button callbacks explained.mp4 |
40.59MB |
| 097 06.21-update-button-color-text.zip |
353.70KB |
| 097 Customising button colors.en.srt |
4.11KB |
| 097 Customising button colors.mp4 |
33.61MB |
| 098 06.22-material-color.zip |
353.72KB |
| 098 MaterialColor explained.en.srt |
3.89KB |
| 098 MaterialColor explained.mp4 |
36.12MB |
| 099 06.23-add-button-shape.zip |
356.04KB |
| 099 Changing button shapes.en.srt |
2.60KB |
| 099 Changing button shapes.mp4 |
23.15MB |
| 100 06.24-custom-raised-button-file.zip |
354.35KB |
| 100 Making code reusable.en.srt |
1.83KB |
| 100 Making code reusable.mp4 |
13.99MB |
| 101 06.25-implement-custom-raised-button.zip |
354.64KB |
| 101 Creating a reusable custom RaisedButton.en.srt |
8.14KB |
| 101 Creating a reusable custom RaisedButton.mp4 |
61.92MB |
| 102 06.26-implement-sign-in-button.zip |
355.18KB |
| 102 Creating a reusable SignInButton.en.srt |
4.78KB |
| 102 Creating a reusable SignInButton.mp4 |
32.98MB |
| 103 06.27-sign-in-button-in-page.zip |
357.58KB |
| 103 Setting default values.en.srt |
3.00KB |
| 103 Setting default values.mp4 |
21.86MB |
| 104 06.28-custom-height.zip |
355.20KB |
| 104 Making the button height configurable.en.srt |
4.98KB |
| 104 Making the button height configurable.mp4 |
35.22MB |
| 105 06.29-add-remaining-buttons.zip |
357.80KB |
| 105 Adding the remaining buttons.en.srt |
5.78KB |
| 105 Adding the remaining buttons.mp4 |
50.39MB |
| 106 Adding logos introduction.en.srt |
1.76KB |
| 106 Adding logos introduction.mp4 |
14.48MB |
| 106 images.zip |
20.20KB |
| 107 06.31-add-google-facebook-images.zip |
374.93KB |
| 107 Updating the pubspec.yaml file.en.srt |
5.26KB |
| 107 Updating the pubspec.yaml file.mp4 |
47.83MB |
| 108 Image variants.en.srt |
2.35KB |
| 108 Image variants.mp4 |
18.72MB |
| 109 06.33-add-image-inside-button.zip |
375.01KB |
| 109 Adding an image inside a button.en.srt |
4.56KB |
| 109 Adding an image inside a button.mp4 |
36.48MB |
| 110 06.34-row-horizontal-alignment.zip |
375.10KB |
| 110 Arranging widgets horizontally in a Row.en.srt |
5.68KB |
| 110 Arranging widgets horizontally in a Row.mp4 |
47.28MB |
| 111 06.35-opacity-widget.zip |
375.17KB |
| 111 The Opacity widget.en.srt |
3.29KB |
| 111 The Opacity widget.mp4 |
29.22MB |
| 112 06.36-add-social-sign-in-button.zip |
375.81KB |
| 112 Creating a custom SocialSignInButton.en.srt |
7.17KB |
| 112 Creating a custom SocialSignInButton.mp4 |
60.11MB |
| 113 06.37-required-annotations.zip |
375.87KB |
| 113 The required annotation.en.srt |
6.16KB |
| 113 The required annotation.mp4 |
60.96MB |
| 114 06.38-assert-widget-api.zip |
375.96KB |
| 114 Using assertions for better widget API design.en.srt |
11.20KB |
| 114 Using assertions for better widget API design.mp4 |
110.33MB |
| 115 Useful Links Resources.html |
1.07KB |
| 116 Local and remote authentication.en.srt |
5.19KB |
| 116 Local and remote authentication.mp4 |
38.85MB |
| 117 Introduction to Firebase.en.srt |
2.11KB |
| 117 Introduction to Firebase.mp4 |
10.92MB |
| 118 Creating a Firebase project.en.srt |
2.82KB |
| 118 Creating a Firebase project.mp4 |
20.05MB |
| 119 07.04-firebase-android-setup.zip |
376.07KB |
| 119 Configuring Firebase for Android.en.srt |
11.23KB |
| 119 Configuring Firebase for Android.mp4 |
75.31MB |
| 120 07.05-firebase-iOS-setup.zip |
377.04KB |
| 120 Configuring Firebase for iOS.en.srt |
9.62KB |
| 120 Configuring Firebase for iOS.mp4 |
59.98MB |
| 121 07.06-add-firebase-auth-v2.zip |
673.61KB |
| 121 Installing the firebase_auth package.en.srt |
4.66KB |
| 121 Installing the firebase_auth package.mp4 |
25.85MB |
| 122 07.07-install-ios-dependencies-v2.zip |
676.48KB |
| 122 Running on iOS using the Xcode legacy build system.en.srt |
6.00KB |
| 122 Running on iOS using the Xcode legacy build system.mp4 |
47.59MB |
| 123 Running on Android.en.srt |
1.14KB |
| 123 Running on Android.mp4 |
7.91MB |
| 124 07.09-migrate-androidX-v2.zip |
676.56KB |
| 124 Migrating to AndroidX.en.srt |
7.84KB |
| 124 Migrating to AndroidX.mp4 |
44.42MB |
| 125 07.10-sign-in-anonymously-v2.zip |
676.68KB |
| 125 Signing in anonymously with Firebase.en.srt |
5.61KB |
| 125 Signing in anonymously with Firebase.mp4 |
38.86MB |
| 126 07.11-add-future-dart-2.5-v2.zip |
676.72KB |
| 126 Futures async and await.en.srt |
9.25KB |
| 126 Futures async and await.mp4 |
59.65MB |
| 127 The FirebaseAuth singleton and private constructors.en.srt |
4.56KB |
| 127 The FirebaseAuth singleton and private constructors.mp4 |
32.57MB |
| 128 Explaining the short-hand syntax for callbacks.en.srt |
2.03KB |
| 128 Explaining the short-hand syntax for callbacks.mp4 |
12.66MB |
| 129 07.14-add-try-catch-v2.zip |
676.79KB |
| 129 Error handling with trycatch.en.srt |
4.02KB |
| 129 Error handling with trycatch.mp4 |
28.00MB |
| 130 Useful Links Resources.html |
2.83KB |
| 131 Recommendations about choosing and updating packages.html |
1.43KB |
| 132 Preview of the sign-in and sign-out flow.en.srt |
4.15KB |
| 132 Preview of the sign-in and sign-out flow.mp4 |
29.98MB |
| 133 08.02-create-landing-page-v2.zip |
677.31KB |
| 133 Creating a landing page widget.en.srt |
3.21KB |
| 133 Creating a landing page widget.mp4 |
17.97MB |
| 134 08.03-add-firebase-user-landing-page.zip |
677.43KB |
| 134 Adding a FirebaseUser to the LandingPage.en.srt |
2.55KB |
| 134 Adding a FirebaseUser to the LandingPage.mp4 |
15.30MB |
| 135 08.04-add-callback-sign-in-page-v2.zip |
677.51KB |
| 135 Adding a callback to the SignInPage.en.srt |
3.76KB |
| 135 Adding a callback to the SignInPage.mp4 |
25.50MB |
| 136 08.05-add-callback-landing-page-v2.zip |
677.60KB |
| 136 Hooking up the onSignIn callback.en.srt |
2.70KB |
| 136 Hooking up the onSignIn callback.mp4 |
24.96MB |
| 137 08.06-call-set-state-v2.zip |
677.64KB |
| 137 Updating the SignInPage with setState.en.srt |
1.76KB |
| 137 Updating the SignInPage with setState.mp4 |
13.77MB |
| 138 08.07-create-home-page-v2.zip |
678.19KB |
| 138 Creating the home page.en.srt |
4.95KB |
| 138 Creating the home page.mp4 |
36.53MB |
| 139 08.08-add-sign-out-v2.zip |
678.36KB |
| 139 Adding the sign-out functionality.en.srt |
4.19KB |
| 139 Adding the sign-out functionality.mp4 |
23.82MB |
| 140 08.09-call-sign-out-callback-v2.zip |
678.42KB |
| 140 Hooking up the onSignOut callback.en.srt |
3.12KB |
| 140 Hooking up the onSignOut callback.mp4 |
25.42MB |
| 141 08.10-init-state-v2.zip |
678.51KB |
| 141 Retrieving the current user when the app starts.en.srt |
3.91KB |
| 141 Retrieving the current user when the app starts.mp4 |
34.15MB |
| 142 08.11-check-current-user-v2.zip |
678.59KB |
| 142 Fixing the code in initState.en.srt |
4.83KB |
| 142 Fixing the code in initState.mp4 |
44.81MB |
| 143 Explaining global access and scoped access.en.srt |
7.79KB |
| 143 Explaining global access and scoped access.mp4 |
22.21MB |
| 144 08.13-add-auth-class-v2.zip |
679.33KB |
| 144 Creating the Auth class.en.srt |
4.12KB |
| 144 Creating the Auth class.mp4 |
24.41MB |
| 145 08.14-add-user-class-v2.zip |
679.47KB |
| 145 Creating the User class.en.srt |
4.86KB |
| 145 Creating the User class.mp4 |
29.91MB |
| 146 08.15-add-auth-base-abstract-class-v2.zip |
679.56KB |
| 146 The abstract AuthBase class.en.srt |
3.94KB |
| 146 The abstract AuthBase class.mp4 |
27.05MB |
| 147 08.16-use-auth-class-v2.zip |
679.66KB |
| 147 Using the Auth class.en.srt |
8.64KB |
| 147 Using the Auth class.mp4 |
66.36MB |
| 148 Lifting state up and its drawbacks.en.srt |
6.14KB |
| 148 Lifting state up and its drawbacks.mp4 |
34.84MB |
| 149 State Management App Architecture.en.srt |
3.20KB |
| 149 State Management App Architecture.mp4 |
18.26MB |
| 150 Introduction to Streams.en.srt |
3.45KB |
| 150 Introduction to Streams.mp4 |
14.55MB |
| 151 Streams in practice with DartPad.en.srt |
4.49KB |
| 151 Streams in practice with DartPad.mp4 |
21.41MB |
| 152 Handling errors and closing streams.en.srt |
5.83KB |
| 152 Handling errors and closing streams.mp4 |
31.45MB |
| 153 09.04-onAuthStateChanged-stream-v2.zip |
679.76KB |
| 153 The onAuthStateChanged stream.en.srt |
2.19KB |
| 153 The onAuthStateChanged stream.mp4 |
12.43MB |
| 154 09.05-comment-out-map-v2.zip |
679.80KB |
| 154 Type safety with Streams.en.srt |
3.58KB |
| 154 Type safety with Streams.mp4 |
22.51MB |
| 155 09.06-stream-map-restored-v2.zip |
679.85KB |
| 155 Stream.map explained.en.srt |
3.60KB |
| 155 Stream.map explained.mp4 |
23.40MB |
| 156 09.07-listen-onAuthStateChanged-v2.zip |
679.94KB |
| 156 Listening to the onAuthStateChanged stream.en.srt |
4.15KB |
| 156 Listening to the onAuthStateChanged stream.mp4 |
25.74MB |
| 157 09.08-add-streambuilder-v2.zip |
680.05KB |
| 157 Introduction to StreamBuilder.en.srt |
4.02KB |
| 157 Introduction to StreamBuilder.mp4 |
32.73MB |
| 158 09.09-add-circular-progress-indicator-v2.zip |
680.17KB |
| 158 Adding a CircularProgressIndicator.en.srt |
2.95KB |
| 158 Adding a CircularProgressIndicator.mp4 |
22.24MB |
| 159 09.10-stream-builder-user-v2.zip |
680.21KB |
| 159 More on StreamBuilder.en.srt |
4.95KB |
| 159 More on StreamBuilder.mp4 |
38.07MB |
| 160 09.11-refactor-sign-in-flows-v2.zip |
680.01KB |
| 160 Refactoring the sign-in flows.en.srt |
4.53KB |
| 160 Refactoring the sign-in flows.mp4 |
43.07MB |
| 161 09.12-fix-streambuilder-code-v2.zip |
680.07KB |
| 161 Fixing the StreamBuilder code.en.srt |
2.77KB |
| 161 Fixing the StreamBuilder code.mp4 |
25.27MB |
| 162 Summary on Streams and StreamBuilder.en.srt |
3.96KB |
| 162 Summary on Streams and StreamBuilder.mp4 |
20.06MB |
| 163 Useful Links Resources.html |
1.28KB |
| 164 Overview of the Firebase sign-in methods.en.srt |
2.73KB |
| 164 Overview of the Firebase sign-in methods.mp4 |
12.16MB |
| 165 10.02-add-google-sign-in-4.0.7-v2.zip |
680.15KB |
| 165 Enabling support for Google Sign In.en.srt |
3.48KB |
| 165 Enabling support for Google Sign In.mp4 |
17.28MB |
| 166 10.03-add-google-sign-in-code-v2.zip |
680.80KB |
| 166 Adding Google Sign-In to the Auth class.en.srt |
8.81KB |
| 166 Adding Google Sign-In to the Auth class.mp4 |
65.05MB |
| 167 10.04-hook-up-google-sign-in-v2.zip |
680.87KB |
| 167 Hooking up Google Sign-In to our button.en.srt |
2.06KB |
| 167 Hooking up Google Sign-In to our button.mp4 |
21.05MB |
| 168 10.05-add-reversed-client-id-v2.zip |
681.01KB |
| 168 Configuring Google Sign-In on iOS.en.srt |
5.25KB |
| 168 Configuring Google Sign-In on iOS.mp4 |
50.10MB |
| 169 Google Sign-In flow explained.en.srt |
4.25KB |
| 169 Google Sign-In flow explained.mp4 |
31.64MB |
| 170 10.07-add-google-sign-out-v2.zip |
681.06KB |
| 170 Supporting Google Sign Out.en.srt |
2.93KB |
| 170 Supporting Google Sign Out.mp4 |
21.76MB |
| 171 Testing Google Sign-In on Android.en.srt |
3.78KB |
| 171 Testing Google Sign-In on Android.mp4 |
26.11MB |
| 172 Checklist Google Sign-In Flutter setup on Android.html |
7.54KB |
| 173 Viewing registered users on the Firebase console.en.srt |
1.12KB |
| 173 Viewing registered users on the Firebase console.mp4 |
4.78MB |
| 174 10.10-facebook-android-setup-v2.zip |
681.73KB |
| 174 Registering a Facebook App.en.srt |
9.48KB |
| 174 Registering a Facebook App.mp4 |
76.00MB |
| 175 Enabling Facebook Sign-In on Firebase.en.srt |
3.32KB |
| 175 Enabling Facebook Sign-In on Firebase.mp4 |
21.89MB |
| 176 10.12-add-flutter-facebook-login-2.0.1-v2.zip |
681.95KB |
| 176 Adding the Facebook Sign-In code.en.srt |
7.53KB |
| 176 Adding the Facebook Sign-In code.mp4 |
60.99MB |
| 177 Testing Facebook Sign-In on Android.en.srt |
4.76KB |
| 177 Testing Facebook Sign-In on Android.mp4 |
35.61MB |
| 178 10.14-add-ios-setup-v2.zip |
682.36KB |
| 178 Facebook iOS setup in Xcode.en.srt |
5.95KB |
| 178 Facebook iOS setup in Xcode.mp4 |
47.22MB |
| 179 10.15-install-ios-dependencies.zip |
387.25KB |
| 179 Testing Facebook Sign-In on iOS.en.srt |
2.64KB |
| 179 Testing Facebook Sign-In on iOS.mp4 |
20.59MB |
| 180 Accessing the users data and privacy considerations.en.srt |
3.87KB |
| 180 Accessing the users data and privacy considerations.mp4 |
30.16MB |
| 181 Useful Links Resources.html |
1.93KB |
| 182 Preview of the email password sign-in page.en.srt |
3.16KB |
| 182 Preview of the email password sign-in page.mp4 |
19.61MB |
| 183 11.02-add-email-sign-in-page-v2.zip |
682.94KB |
| 183 Creating the email password sign-in page.en.srt |
2.50KB |
| 183 Creating the email password sign-in page.mp4 |
20.09MB |
| 184 11.03-add-email-sign-in-method-v2.zip |
683.02KB |
| 184 Passing the BuildContext across methods.en.srt |
2.17KB |
| 184 Passing the BuildContext across methods.mp4 |
22.34MB |
| 185 11.04-add-navigator-push-v2.zip |
683.13KB |
| 185 Introduction to navigation.en.srt |
6.58KB |
| 185 Introduction to navigation.mp4 |
51.60MB |
| 186 11.05-add-card-email-sign-in-form-v2.zip |
683.67KB |
| 186 Adding a Card widget.en.srt |
2.39KB |
| 186 Adding a Card widget.mp4 |
18.44MB |
| 187 11.06-add-email-password-fields-v2.zip |
683.90KB |
| 187 Adding the email and password text fields.en.srt |
6.63KB |
| 187 Adding the email and password text fields.mp4 |
48.27MB |
| 188 11.07-add-submit-buttons-v2.zip |
684.04KB |
| 188 Adding the submit buttons.en.srt |
2.95KB |
| 188 Adding the submit buttons.mp4 |
25.66MB |
| 189 11.08-add-form-submit-button-v2.zip |
684.71KB |
| 189 Creating a FormSubmitButton widget.en.srt |
3.73KB |
| 189 Creating a FormSubmitButton widget.mp4 |
34.14MB |
| 190 11.09-add-text-editing-controller-v2.zip |
684.85KB |
| 190 Adding a TextEditingController.en.srt |
6.02KB |
| 190 Adding a TextEditingController.mp4 |
59.86MB |
| 191 11.10-toggling-form-type-v2.zip |
685.07KB |
| 191 Toggling the form type.en.srt |
7.26KB |
| 191 Toggling the form type.mp4 |
76.65MB |
| 192 11.11-add-email-sign-in-methods-v2.zip |
685.27KB |
| 192 Adding the email password authentication code.en.srt |
4.46KB |
| 192 Adding the email password authentication code.mp4 |
43.38MB |
| 193 11.12-implement-submit-method-v2.zip |
685.42KB |
| 193 Implementing the submit method.en.srt |
3.59KB |
| 193 Implementing the submit method.mp4 |
38.55MB |
| 194 Testing email password sign-in.en.srt |
3.87KB |
| 194 Testing email password sign-in.mp4 |
36.25MB |
| 195 11.14-customise-email-password-fields-v2.zip |
685.54KB |
| 195 Customising the email and password text fields.en.srt |
4.21KB |
| 195 Customising the email and password text fields.mp4 |
44.70MB |
| 196 11.15-focus-node-v2.zip |
685.66KB |
| 196 Using FocusNode and FocusScope.en.srt |
5.62KB |
| 196 Using FocusNode and FocusScope.mp4 |
64.32MB |
| 197 11.16-submit-button-validation-v2.zip |
685.77KB |
| 197 Disabling the submit button on empty email or password.en.srt |
6.67KB |
| 197 Disabling the submit button on empty email or password.mp4 |
63.81MB |
| 198 11.17-add-string-validator-v2.zip |
686.23KB |
| 198 Adding a StringValidator class.en.srt |
2.60KB |
| 198 Adding a StringValidator class.mp4 |
22.60MB |
| 199 11.18-add-email-password-mixin-v2.zip |
686.35KB |
| 199 Adding an email and password validation mixin.en.srt |
3.29KB |
| 199 Adding an email and password validation mixin.mp4 |
30.84MB |
| 200 11.19-adding-error-text-v2.zip |
686.50KB |
| 200 Showing an error text when the email or password are invalid.en.srt |
4.00KB |
| 200 Showing an error text when the email or password are invalid.mp4 |
38.81MB |
| 201 11.20-tweaking-form-submission-v2.zip |
686.58KB |
| 201 Tweaking form submission.en.srt |
5.94KB |
| 201 Tweaking form submission.mp4 |
60.36MB |
| 202 11.21-simulating-slow-network-v2.zip |
686.68KB |
| 202 Simulating a slow network with a delay.en.srt |
3.86KB |
| 202 Simulating a slow network with a delay.mp4 |
34.47MB |
| 203 11.22-add-loading-state-v2.zip |
686.74KB |
| 203 Adding a loading state to our form.en.srt |
4.47KB |
| 203 Adding a loading state to our form.mp4 |
45.57MB |
| 204 11.23-email-focus-invalid-v2.zip |
686.81KB |
| 204 Updating the email focus logic.en.srt |
2.97KB |
| 204 Updating the email focus logic.mp4 |
27.08MB |
| 205 11.24-add-SingleChildScrollView-v2.zip |
686.89KB |
| 205 Fixing the vertical overflow on small screens.en.srt |
4.82KB |
| 205 Fixing the vertical overflow on small screens.mp4 |
45.44MB |
| 206 Wrap-up.en.srt |
5.89KB |
| 206 Wrap-up.mp4 |
47.90MB |
| 207 Useful Links Resources.html |
2.23KB |
| 208 Introduction to dialogs.en.srt |
1.92KB |
| 208 Introduction to dialogs.mp4 |
13.89MB |
| 209 12.02-show-alert-dialog-v2.zip |
687.04KB |
| 209 Showing a dialog.en.srt |
3.72KB |
| 209 Showing a dialog.mp4 |
33.14MB |
| 210 12.03-dismissing-dialog-v2.zip |
687.09KB |
| 210 Dismissing dialogs.en.srt |
3.24KB |
| 210 Dismissing dialogs.mp4 |
23.23MB |
| 211 12.04-add-platform-check-v2.zip |
687.18KB |
| 211 Platform-aware widgets on iOS Android more.en.srt |
5.29KB |
| 211 Platform-aware widgets on iOS Android more.mp4 |
42.43MB |
| 212 12.05-add-platform-widget-class-v2.zip |
687.71KB |
| 212 Creating a PlatformWidget base class.en.srt |
3.60KB |
| 212 Creating a PlatformWidget base class.mp4 |
25.82MB |
| 213 12.06-platform-alert-dialog-v2.zip |
688.52KB |
| 213 Creating a PlatformAlertDialog widget.en.srt |
9.08KB |
| 213 Creating a PlatformAlertDialog widget.mp4 |
83.14MB |
| 214 12.07-showing-the-dialog-v2.zip |
688.54KB |
| 214 Showing the PlatformAlertDialog.en.srt |
7.09KB |
| 214 Showing the PlatformAlertDialog.mp4 |
64.80MB |
| 215 12.08-use-showCupertinoDialog-v2.zip |
688.65KB |
| 215 Tweaking the PlatformAlertDialog.en.srt |
5.16KB |
| 215 Tweaking the PlatformAlertDialog.mp4 |
50.89MB |
| 216 12.09-confirm-sign-out-v2.zip |
688.83KB |
| 216 Adding a sign-out confirmation alert.en.srt |
4.43KB |
| 216 Adding a sign-out confirmation alert.mp4 |
40.23MB |
| 217 12.10-update-platform-alert-dialog-v2.zip |
688.94KB |
| 217 Adding a cancel button to the PlatformAlertDialog.en.srt |
5.23KB |
| 217 Adding a cancel button to the PlatformAlertDialog.mp4 |
49.59MB |
| 218 Useful Links Resources.html |
1.27KB |
| 219 Introduction to InheritedWidget.en.srt |
4.71KB |
| 219 Introduction to InheritedWidget.mp4 |
35.23MB |
| 220 13.02-add-auth-provider-v2.zip |
689.59KB |
| 220 Creating an AuthProvider.en.srt |
7.30KB |
| 220 Creating an AuthProvider.mp4 |
52.42MB |
| 221 13.03-refactor-auth-code-v2.zip |
689.53KB |
| 221 Accessing the Auth object via the AuthProvider.en.srt |
8.45KB |
| 221 Accessing the Auth object via the AuthProvider.mp4 |
78.72MB |
| 222 13.04-add-provider-package-v3.zip |
689.61KB |
| 222 Adding the provider package.en.srt |
2.29KB |
| 222 Adding the provider package.mp4 |
12.97MB |
| 223 13.05-add-multidex-android-v2.zip |
689.69KB |
| 223 Adding MultiDex support on Android.en.srt |
2.75KB |
| 223 Adding MultiDex support on Android.mp4 |
24.26MB |
| 224 13.06-using-provider-class-v3.zip |
689.21KB |
| 224 Using the Provider class.en.srt |
5.79KB |
| 224 Using the Provider class.mp4 |
44.30MB |
| 225 BREAKING CHANGES in provider 3.2.0 4.0.1.html |
2.46KB |
| 226 Wrap-up about scoped access.en.srt |
5.82KB |
| 226 Wrap-up about scoped access.mp4 |
24.11MB |
| 227 Useful Links Resources.html |
1.84KB |
| 228 Module Introduction.en.srt |
1.60KB |
| 228 Module Introduction.mp4 |
12.25MB |
| 229 14.02-using-platform-exception-v2.zip |
689.28KB |
| 229 PlatformException explained.en.srt |
4.24KB |
| 229 PlatformException explained.mp4 |
35.87MB |
| 230 14.03-add-platform-exception-alert-dialog-v2.zip |
689.86KB |
| 230 Creating a PlatformExceptionAlertDialog.en.srt |
3.23KB |
| 230 Creating a PlatformExceptionAlertDialog.mp4 |
25.23MB |
| 231 14.04-customising-the-error-messages-v2.zip |
690.34KB |
| 231 Customising error messages.en.srt |
5.69KB |
| 231 Customising error messages.mp4 |
45.98MB |
| 232 14.05-platform-exception-sign-in-page-v2.zip |
690.53KB |
| 232 Using PlatformException on the SignInPage.en.srt |
5.27KB |
| 232 Using PlatformException on the SignInPage.mp4 |
48.56MB |
| 233 Adding a loading state overview.en.srt |
1.72KB |
| 233 Adding a loading state overview.mp4 |
9.93MB |
| 234 14.07-add-loading-state-v2.zip |
690.64KB |
| 234 Adding a loading state to the SignInPage.en.srt |
3.21KB |
| 234 Adding a loading state to the SignInPage.mp4 |
29.75MB |
| 235 14.08-using-the-loading-state-v2.zip |
690.77KB |
| 235 Using the loading state in the SignInPage.en.srt |
4.27KB |
| 235 Using the loading state in the SignInPage.mp4 |
37.19MB |
| 236 14.09-add-dispose-method-v2.zip |
690.85KB |
| 236 The dispose method.en.srt |
3.87KB |
| 236 The dispose method.mp4 |
33.46MB |
| 237 Introduction to state management with BLoCs.en.srt |
6.91KB |
| 237 Introduction to state management with BLoCs.mp4 |
45.97MB |
| 238 The application layers.en.srt |
2.44KB |
| 238 The application layers.mp4 |
9.68MB |
| 239 BLoCs sinks streams and asynchronous code.en.srt |
6.32KB |
| 239 BLoCs sinks streams and asynchronous code.mp4 |
24.64MB |
| 240 Introduction to the SignInBloc.en.srt |
3.60KB |
| 240 Introduction to the SignInBloc.mp4 |
18.23MB |
| 241 15.05-add-simple-sign-in-bloc-v2.zip |
691.32KB |
| 241 Implementing a simple BLoC.en.srt |
4.35KB |
| 241 Implementing a simple BLoC.mp4 |
24.01MB |
| 242 15.06-add-provider-sign-in-bloc-v2.zip |
691.42KB |
| 242 Adding a Bloc with Provider inside a static method.en.srt |
3.64KB |
| 242 Adding a Bloc with Provider inside a static method.mp4 |
28.30MB |
| 243 15.07-add-stream-builder-loading-state-v2.zip |
691.53KB |
| 243 Adding the StreamBuilder code.en.srt |
3.70KB |
| 243 Adding the StreamBuilder code.mp4 |
27.64MB |
| 244 15.08-convert-sign-in-page-stateless-widget-v2.zip |
691.54KB |
| 244 Converting the SignInPage to a stateless widget.en.srt |
3.93KB |
| 244 Converting the SignInPage to a stateless widget.mp4 |
37.21MB |
| 245 15.09-the-consumer-widget-v2.zip |
691.65KB |
| 245 The difference between Provider.of and Consumer.en.srt |
4.48KB |
| 245 The difference between Provider.of and Consumer.mp4 |
38.50MB |
| 246 15.10-dispose-bloc-with-provider-v2.zip |
691.71KB |
| 246 Disposing BLoCs with Provider.en.srt |
1.45KB |
| 246 Disposing BLoCs with Provider.mp4 |
8.88MB |
| 247 15.11-add-auth-code-sign-in-bloc-v2.zip |
691.98KB |
| 247 Adding authentication code to the SignInBloc.en.srt |
6.96KB |
| 247 Adding authentication code to the SignInBloc.mp4 |
57.26MB |
| 248 15.12-updating-sign-in-page-v2.zip |
692.00KB |
| 248 Updating the SignInPage.en.srt |
3.01KB |
| 248 Updating the SignInPage.mp4 |
26.04MB |
| 249 15.13-fix-bloc-submit-method.zip |
692.04KB |
| 249 Fixing the BLoC submit method.en.srt |
3.75KB |
| 249 Fixing the BLoC submit method.mp4 |
28.50MB |
| 250 Summary on the BLoC basics.en.srt |
1.68KB |
| 250 Summary on the BLoC basics.mp4 |
8.00MB |
| 251 15.15-email-sign-in-form-stateful-v2.zip |
692.12KB |
| 251 Introduction to the email sign-in flow with BLoC.en.srt |
3.45KB |
| 251 Introduction to the email sign-in flow with BLoC.mp4 |
20.55MB |
| 252 15.16-create-email-sign-in-model-v2.zip |
692.63KB |
| 252 Creating a model class for the EmailSignInForm.en.srt |
3.20KB |
| 252 Creating a model class for the EmailSignInForm.mp4 |
25.41MB |
| 253 15.17-add-email-sign-in-bloc-v2.zip |
693.15KB |
| 253 Creating the EmailSignInBloc with a StreamController.en.srt |
2.84KB |
| 253 Creating the EmailSignInBloc with a StreamController.mp4 |
17.25MB |
| 254 15.18-updating-the-model-v2.zip |
693.43KB |
| 254 Updating the model.en.srt |
7.86KB |
| 254 Updating the model.mp4 |
56.38MB |
| 255 15.19-add-bloc-submit-method-v2.zip |
693.67KB |
| 255 Adding the BLoC submit method.en.srt |
6.31KB |
| 255 Adding the BLoC submit method.mp4 |
49.21MB |
| 256 15.20-setting-up-email-sign-in-form-bloc-based-v2.zip |
695.63KB |
| 256 Setting up the EmailSignInFormBlocBased with Provider.en.srt |
5.90KB |
| 256 Setting up the EmailSignInFormBlocBased with Provider.mp4 |
60.96MB |
| 257 15.21-refactor-email-sign-in-form-bloc-v2.zip |
695.62KB |
| 257 Refactoring the EmailSignInFormBlocBased widget by removing the state variables.en.srt |
8.65KB |
| 257 Refactoring the EmailSignInFormBlocBased widget by removing the state variables.mp4 |
86.12MB |
| 258 15.22-move-logic-to-bloc-class-v2.zip |
695.70KB |
| 258 Moving the business logic to the BLoC class.en.srt |
4.13KB |
| 258 Moving the business logic to the BLoC class.mp4 |
40.25MB |
| 259 15.23-fix-email-sign-in-bloc-submit-v2.zip |
695.74KB |
| 259 Fixing the EmailSignInBloc submit method.en.srt |
1.36KB |
| 259 Fixing the EmailSignInBloc submit method.mp4 |
9.53MB |
| 260 15.24-moving-logic-email-sign-in-model-v2.zip |
695.87KB |
| 260 Moving more business logic to the model class.en.srt |
7.36KB |
| 260 Moving more business logic to the model class.mp4 |
74.56MB |
| 261 The benefits of separation of concerns with BLoC.en.srt |
3.89KB |
| 261 The benefits of separation of concerns with BLoC.mp4 |
22.19MB |
| 262 Using stateful widgets with TextEditingControllers.en.srt |
5.01KB |
| 262 Using stateful widgets with TextEditingControllers.mp4 |
31.07MB |
| 263 Considerations about performance.en.srt |
2.69KB |
| 263 Considerations about performance.mp4 |
20.14MB |
| 264 Blocs and Services in the widget tree.en.srt |
5.09KB |
| 264 Blocs and Services in the widget tree.mp4 |
19.41MB |
| 265 17.01-merge-commit.zip |
527.68KB |
| 265 Recap on State Management.en.srt |
3.34KB |
| 265 Recap on State Management.mp4 |
13.08MB |
| 266 16.02-refactor-sign-in-bloc-value-notifier-v2.zip |
695.87KB |
| 266 Introduction to ValueNotifier.en.srt |
2.67KB |
| 266 Introduction to ValueNotifier.mp4 |
19.03MB |
| 267 16.03-refactor-sign-in-page-change-notifier-provider-v2.zip |
695.91KB |
| 267 Adding a ValueNotifier with ChangeNotifierProvider.en.srt |
6.20KB |
| 267 Adding a ValueNotifier with ChangeNotifierProvider.mp4 |
53.22MB |
| 268 16.04-is-loading-instance-variable-v2.zip |
695.97KB |
| 268 Consumer and ChangeNotifierProvider explained.en.srt |
4.78KB |
| 268 Consumer and ChangeNotifierProvider explained.mp4 |
42.89MB |
| 269 16.05-refactor-sign-in-manager-v2.zip |
696.03KB |
| 269 Differences between BLoCstreams and ValueNotifierChangeNotifierProvider.en.srt |
3.73KB |
| 269 Differences between BLoCstreams and ValueNotifierChangeNotifierProvider.mp4 |
22.38MB |
| 270 Introduction to ChangeNotifier.en.srt |
1.97KB |
| 270 Introduction to ChangeNotifier.mp4 |
14.26MB |
| 271 16.07-add-email-sign-in-change-model-v2.zip |
696.93KB |
| 271 Adding the EmailSignInChangeModel class.en.srt |
5.92KB |
| 271 Adding the EmailSignInChangeModel class.mp4 |
47.36MB |
| 272 16.08-complete-email-sign-in-change-model-v2.zip |
697.20KB |
| 272 Completing the EmailSignInChangeModel class.en.srt |
3.33KB |
| 272 Completing the EmailSignInChangeModel class.mp4 |
27.46MB |
| 273 16.09-add-email-sign-in-form-change-notifier-v2.zip |
698.76KB |
| 273 Implementing the email sign-in form with ChangeNotifier.en.srt |
6.93KB |
| 273 Implementing the email sign-in form with ChangeNotifier.mp4 |
63.18MB |
| 274 Comparing ValueNotifier and ChangeNotifier.en.srt |
4.51KB |
| 274 Comparing ValueNotifier and ChangeNotifier.mp4 |
29.02MB |
| 275 Wrap up on State Management.en.srt |
5.24KB |
| 275 Wrap up on State Management.mp4 |
21.06MB |
| 276 Wrap up on the Authentication Flows.en.srt |
2.95KB |
| 276 Wrap up on the Authentication Flows.mp4 |
14.29MB |
| 277 Useful Links Resources.html |
1.91KB |
| 278 Overview of the time tracker app.en.srt |
3.38KB |
| 278 Overview of the time tracker app.mp4 |
19.36MB |
| 279 Database schema and SQL vs NoSQL.en.srt |
5.85KB |
| 279 Database schema and SQL vs NoSQL.mp4 |
39.76MB |
| 280 Introduction to Cloud Firestore.en.srt |
3.37KB |
| 280 Introduction to Cloud Firestore.mp4 |
22.72MB |
| 281 Documents and Collections.en.srt |
2.67KB |
| 281 Documents and Collections.mp4 |
15.66MB |
| 282 Getting started with Firestore.en.srt |
4.16KB |
| 282 Getting started with Firestore.mp4 |
24.63MB |
| 283 Designing a Database API with CRUD operations.en.srt |
4.37KB |
| 283 Designing a Database API with CRUD operations.mp4 |
26.56MB |
| 284 Managing private user data with Cloud Firestore.en.srt |
4.62KB |
| 284 Managing private user data with Cloud Firestore.mp4 |
24.90MB |
| 285 17.08-add-cloud-firestore-0.12.9-5-v2.zip |
699.37KB |
| 285 Installing Cloud Firestore.en.srt |
1.57KB |
| 285 Installing Cloud Firestore.mp4 |
11.03MB |
| 286 17.09-rename-home-page-jobs-page-v2.zip |
699.66KB |
| 286 Renaming the HomePage to JobsPage.en.srt |
3.20KB |
| 286 Renaming the HomePage to JobsPage.mp4 |
28.53MB |
| 287 17.10-add-database-class-v2.zip |
700.13KB |
| 287 Adding the Database class.en.srt |
3.86KB |
| 287 Adding the Database class.mp4 |
20.83MB |
| 288 17.11-add-database-provider-v2.zip |
700.21KB |
| 288 Adding the Database Provider.en.srt |
2.04KB |
| 288 Adding the Database Provider.mp4 |
18.22MB |
| 289 17.12-add-floating-action-button-v2.zip |
700.30KB |
| 289 Adding a FloatingActionButton.en.srt |
3.04KB |
| 289 Adding a FloatingActionButton.mp4 |
25.31MB |
| 290 17.13-writing-to-firestore-v2.zip |
700.54KB |
| 290 Writing data to Firestore.en.srt |
9.46KB |
| 290 Writing data to Firestore.mp4 |
69.65MB |
| 291 17.14-adding-job-class-v2.zip |
701.30KB |
| 291 Defining a strongly-typed Job model class.en.srt |
4.83KB |
| 291 Defining a strongly-typed Job model class.mp4 |
38.19MB |
| 292 17.15-add-api-path-class-v2.zip |
701.70KB |
| 292 Defining a common API path class.en.srt |
3.15KB |
| 292 Defining a common API path class.mp4 |
23.77MB |
| 293 17.16-add-set-data-method-v2.zip |
701.81KB |
| 293 Adding a generic setData method.en.srt |
3.66KB |
| 293 Adding a generic setData method.mp4 |
34.02MB |
| 294 Adding security rules.en.srt |
6.13KB |
| 294 Adding security rules.mp4 |
39.04MB |
| 295 17.18-handle-firestore-permissions-errors-v2.zip |
701.98KB |
| 295 Handling Firestore permissions errors.en.srt |
4.95KB |
| 295 Handling Firestore permissions errors.mp4 |
44.82MB |
| 296 17.19-reading-jobs-firestore-v2.zip |
702.15KB |
| 296 Reading data from Firestore.en.srt |
6.28KB |
| 296 Reading data from Firestore.mp4 |
55.47MB |
| 297 17.20-reading-parsing-firestore-data-streams-v2.zip |
702.24KB |
| 297 Reading and parsing Firestore data streams.en.srt |
4.38KB |
| 297 Reading and parsing Firestore data streams.mp4 |
43.29MB |
| 298 17.21-showing-list-items-streambuilder-v2.zip |
702.43KB |
| 298 Adding a StreamBuilder to show a list of jobs.en.srt |
4.38KB |
| 298 Adding a StreamBuilder to show a list of jobs.mp4 |
45.35MB |
| 299 17.22-fixing-database-streambuilder-code-v2.zip |
702.50KB |
| 299 Debugging the StreamBuilder code.en.srt |
6.20KB |
| 299 Debugging the StreamBuilder code.mp4 |
52.80MB |
| 300 Firestore as a realtime database.en.srt |
2.86KB |
| 300 Firestore as a realtime database.mp4 |
22.00MB |
| 301 17.24-add-factory-constructor-v2.zip |
702.61KB |
| 301 Adding a factory constructor to our model class.en.srt |
3.34KB |
| 301 Adding a factory constructor to our model class.mp4 |
27.42MB |
| 302 17.25-add-helper-collection-stream-v2.zip |
702.70KB |
| 302 Adding a generic method to read Firestore streams.en.srt |
3.32KB |
| 302 Adding a generic method to read Firestore streams.mp4 |
35.64MB |
| 303 17.26-add-firestore-service-class-v2.zip |
703.21KB |
| 303 Adding a FirestoreService class.en.srt |
5.49KB |
| 303 Adding a FirestoreService class.mp4 |
52.48MB |
| 304 Wrap-up on Cloud Firestore.en.srt |
4.43KB |
| 304 Wrap-up on Cloud Firestore.mp4 |
36.22MB |
| 305 Useful Links Resources.html |
2.41KB |
| 306 Introduction to Forms with Cloud Firestore.en.srt |
2.45KB |
| 306 Introduction to Forms with Cloud Firestore.mp4 |
14.33MB |
| 307 18.02-add-job-page-v2.zip |
704.12KB |
| 307 Adding a new job page.en.srt |
5.77KB |
| 307 Adding a new job page.mp4 |
50.68MB |
| 308 18.03-add-placeholder-widget-v2.zip |
704.23KB |
| 308 The Placeholder widget.en.srt |
4.91KB |
| 308 The Placeholder widget.mp4 |
43.60MB |
| 309 18.04-add-form-text-fields-v2.zip |
704.41KB |
| 309 Introduction to Form and TextFormField.en.srt |
3.69KB |
| 309 Introduction to Form and TextFormField.mp4 |
36.80MB |
| 310 18.05-validate-save-form-v2.zip |
704.80KB |
| 310 Validating and saving Form data.en.srt |
8.97KB |
| 310 Validating and saving Form data.mp4 |
86.72MB |
| 311 18.06-add-database-to-add-job-page-v2.zip |
704.98KB |
| 311 Accessing the Database object with the correct BuildContext.en.srt |
5.37KB |
| 311 Accessing the Database object with the correct BuildContext.mp4 |
45.51MB |
| 312 18.07-add-jobs-date-time-document-id-v2.zip |
705.06KB |
| 312 Saving jobs with a unique document ID.en.srt |
5.77KB |
| 312 Saving jobs with a unique document ID.mp4 |
52.46MB |
| 313 18.08-add-error-handling-v2.zip |
705.20KB |
| 313 Handling errors.en.srt |
2.36KB |
| 313 Handling errors.mp4 |
18.84MB |
| 314 18.09-add-unique-name-checker-v2.zip |
705.39KB |
| 314 Enforcing unique job names.en.srt |
3.46KB |
| 314 Enforcing unique job names.mp4 |
39.12MB |
| 315 18.10-fix-integer-parsing-code-v2.zip |
705.45KB |
| 315 Fixing the integer-parsing code.en.srt |
1.87KB |
| 315 Fixing the integer-parsing code.mp4 |
16.65MB |
| 316 Editing existing jobs overview.en.srt |
1.64KB |
| 316 Editing existing jobs overview.mp4 |
8.51MB |
| 317 18.12-add-job-list-tile-v2.zip |
706.08KB |
| 317 Adding a custom JobListTile.en.srt |
4.45KB |
| 317 Adding a custom JobListTile.mp4 |
40.67MB |
| 318 18.13-edit-job-page-v2.zip |
706.23KB |
| 318 Repurposing the AddJobPage for editing jobs.en.srt |
5.30KB |
| 318 Repurposing the AddJobPage for editing jobs.mp4 |
56.57MB |
| 319 18.14-reading-the-document-id-v2.zip |
706.30KB |
| 319 Reading the documentID from Firestore.en.srt |
3.18KB |
| 319 Reading the documentID from Firestore.mp4 |
30.05MB |
| 320 18.15-complete-code-edit-job-v2.zip |
706.40KB |
| 320 Completing the code for editing jobs.en.srt |
5.43KB |
| 320 Completing the code for editing jobs.mp4 |
49.72MB |
| 321 Wrap up on working with Forms.en.srt |
3.44KB |
| 321 Wrap up on working with Forms.mp4 |
28.54MB |
| 322 Useful Links Resources.html |
1.86KB |
| 323 Intro and multiple states of UI.en.srt |
2.56KB |
| 323 Intro and multiple states of UI.mp4 |
13.06MB |
| 324 19.02-empty-content-widget-v2.zip |
707.12KB |
| 324 Adding an empty content widget.en.srt |
3.66KB |
| 324 Adding an empty content widget.mp4 |
37.02MB |
| 325 19.03-list-items-builder-v2.zip |
707.90KB |
| 325 Adding a reusable list items builder.en.srt |
4.51KB |
| 325 Adding a reusable list items builder.mp4 |
48.18MB |
| 326 19.04-complete-list-items-builder-v2.zip |
707.89KB |
| 326 Using ListView.builder.en.srt |
5.51KB |
| 326 Using ListView.builder.mp4 |
55.92MB |
| 327 19.05-use-listview-separated-v2.zip |
708.01KB |
| 327 Using ListView.separated.en.srt |
3.38KB |
| 327 Using ListView.separated.mp4 |
32.68MB |
| 328 19.06-database-delete-job-v2.zip |
708.11KB |
| 328 Deleting jobs from Firestore.en.srt |
2.87KB |
| 328 Deleting jobs from Firestore.mp4 |
31.78MB |
| 329 19.07-adding-swipe-to-delete-v2.zip |
708.33KB |
| 329 Adding swipe to delete support.en.srt |
8.09KB |
| 329 Adding swipe to delete support.mp4 |
79.71MB |
| 330 Working with entries overview.en.srt |
2.40KB |
| 330 Working with entries overview.mp4 |
16.62MB |
| 331 20.02-add-entries-api-paths-v2.zip |
708.41KB |
| 331 Relational data drawbacks of NoSQL databases.en.srt |
5.73KB |
| 331 Relational data drawbacks of NoSQL databases.mp4 |
40.42MB |
| 332 Getting ready to add new files.en.srt |
2.01KB |
| 332 Getting ready to add new files.mp4 |
7.78MB |
| 332 job-entries-code.zip |
7.99KB |
| 333 20.04-add-new-source-files-intl-package-0.16.0-v2.zip |
716.44KB |
| 333 Adding the source files to the project.en.srt |
3.97KB |
| 333 Adding the source files to the project.mp4 |
32.94MB |
| 334 20.05-show-job-entries-page-v2.zip |
716.50KB |
| 334 Connecting the new code and updating the Firestore rules.en.srt |
3.57KB |
| 334 Connecting the new code and updating the Firestore rules.mp4 |
32.34MB |
| 335 20.06-fix-navigation-edit-job-page-v2.zip |
716.56KB |
| 335 Fixing the EditJobPage navigation.en.srt |
3.90KB |
| 335 Fixing the EditJobPage navigation.mp4 |
38.96MB |
| 336 Overview of the JobEntriesPage.en.srt |
2.99KB |
| 336 Overview of the JobEntriesPage.mp4 |
30.56MB |
| 337 20.08-reformat-database-code-v2.zip |
716.62KB |
| 337 Reading and writing entries with Firestore.en.srt |
6.69KB |
| 337 Reading and writing entries with Firestore.mp4 |
60.42MB |
| 338 20.09-replace-margin-padding-v2.zip |
716.67KB |
| 338 The EntryListItem widget (using InkWell and Expanded).en.srt |
2.56KB |
| 338 The EntryListItem widget (using InkWell and Expanded).mp4 |
24.85MB |
| 339 Formatting dates and currencies with the Intl package.en.srt |
3.27KB |
| 339 Formatting dates and currencies with the Intl package.mp4 |
27.17MB |
| 340 Dart as UI Spreads and Collection-if.en.srt |
3.84KB |
| 340 Dart as UI Spreads and Collection-if.mp4 |
33.23MB |
| 341 20.12-rename-callbacks-date-time-picker-v2.zip |
716.73KB |
| 341 Using date pickers with stateful widgets.en.srt |
7.05KB |
| 341 Using date pickers with stateful widgets.mp4 |
64.14MB |
| 342 20.13-move-date-time-picker-input-dropdown-v2.zip |
716.78KB |
| 342 Date and time input with a custom UI and DateTimePicker.en.srt |
4.99KB |
| 342 Date and time input with a custom UI and DateTimePicker.mp4 |
47.37MB |
| 343 20.14-update-job-entries-page-v2.zip |
716.91KB |
| 343 Updating the UI when a Job changes.en.srt |
6.20KB |
| 343 Updating the UI when a Job changes.mp4 |
58.58MB |
| 344 Wrap up and CupertinoDatePicker.en.srt |
1.92KB |
| 344 Wrap up and CupertinoDatePicker.mp4 |
14.77MB |
| 345 Useful Links Resources.html |
2.13KB |
| 346 Introduction to bottom navigation.en.srt |
2.86KB |
| 346 Introduction to bottom navigation.mp4 |
19.20MB |
| 347 Multiple navigation stacks.en.srt |
2.46KB |
| 347 Multiple navigation stacks.mp4 |
12.86MB |
| 348 21.03-create-home-page-selected-tab-v2.zip |
718.39KB |
| 348 Creating a HomePage with a selected tab.en.srt |
4.34KB |
| 348 Creating a HomePage with a selected tab.mp4 |
36.54MB |
| 349 21.04-add-cupertino-tab-scaffold-v2.zip |
718.86KB |
| 349 Adding a CupertinoTabScaffold.en.srt |
7.00KB |
| 349 Adding a CupertinoTabScaffold.mp4 |
70.29MB |
| 350 21.05-add-tab-builder-v2.zip |
718.97KB |
| 350 Testing the bottom navigation.en.srt |
3.16KB |
| 350 Testing the bottom navigation.mp4 |
28.38MB |
| 351 21.06-add-widget-builders-v2.zip |
719.13KB |
| 351 Adding the widget builders.en.srt |
5.63KB |
| 351 Adding the widget builders.mp4 |
51.98MB |
| 352 21.07-replacing-floating-action-buttons-v2.zip |
719.12KB |
| 352 Replacing the FloatingActionButtons.en.srt |
5.13KB |
| 352 Replacing the FloatingActionButtons.mp4 |
50.34MB |
| 353 21.08-move-logout-button-account-page-v2.zip |
720.05KB |
| 353 Moving the logout button to the AccountPage.en.srt |
2.32KB |
| 353 Moving the logout button to the AccountPage.mp4 |
25.59MB |
| 354 21.09-add-root-navigator-true-v2.zip |
720.11KB |
| 354 Presenting modal routes with the root navigator.en.srt |
4.91KB |
| 354 Presenting modal routes with the root navigator.mp4 |
37.38MB |
| 355 21.10-provider-listen-false-v2.zip |
720.17KB |
| 355 Using Provider with listen false to minimise rebuilds.en.srt |
5.46KB |
| 355 Using Provider with listen false to minimise rebuilds.mp4 |
50.33MB |
| 356 21.11-cupertino-page-route-v2.zip |
720.21KB |
| 356 The CupertinoPageRoute.en.srt |
1.30KB |
| 356 The CupertinoPageRoute.mp4 |
12.72MB |
| 357 21.12-add-will-pop-scope-navigator-keys-v2.zip |
720.42KB |
| 357 Handling the Android back button with WillPopScope and navigator keys.en.srt |
6.80KB |
| 357 Handling the Android back button with WillPopScope and navigator keys.mp4 |
66.65MB |
| 358 21.13-navigating-to-first-route-v2.zip |
720.52KB |
| 358 Adding pop-to-root navigation.en.srt |
2.02KB |
| 358 Adding pop-to-root navigation.mp4 |
20.66MB |
| 359 Wrap up on multiple navigators.en.srt |
2.62KB |
| 359 Wrap up on multiple navigators.mp4 |
20.50MB |
| 360 Useful Links Resources.html |
2.15KB |
| 361 Introduction to advanced stream operations.en.srt |
3.89KB |
| 361 Introduction to advanced stream operations.mp4 |
22.06MB |
| 362 22.02-add-rxdart-0.22.4-v2.zip |
720.60KB |
| 362 Introduction to RxDart.en.srt |
3.21KB |
| 362 Introduction to RxDart.mp4 |
22.95MB |
| 363 entries.zip |
3.42KB |
| 363 Observable.combineLatest and data transformations in the time tracker app.en.srt |
4.55KB |
| 363 Observable.combineLatest and data transformations in the time tracker app.mp4 |
28.70MB |
| 364 22.04-add-entries-files-v2.zip |
725.05KB |
| 364 Adding the source code for the new entries page.en.srt |
1.81KB |
| 364 Adding the source code for the new entries page.mp4 |
19.21MB |
| 365 Reviewing the UI code for the entries page.en.srt |
5.03KB |
| 365 Reviewing the UI code for the entries page.mp4 |
50.71MB |
| 366 Using combineLatest in practice.en.srt |
5.66KB |
| 366 Using combineLatest in practice.mp4 |
39.81MB |
| 367 Data manipulation in the EntriesBloc.en.srt |
5.36KB |
| 367 Data manipulation in the EntriesBloc.mp4 |
51.84MB |
| 368 Wrap up on Observables.en.srt |
2.36KB |
| 368 Wrap up on Observables.mp4 |
17.61MB |
| 369 Single subscription vs broadcast streams.en.srt |
4.04KB |
| 369 Single subscription vs broadcast streams.mp4 |
20.46MB |
| 370 PublishSubject ReplaySubject BehaviorSubject.en.srt |
2.71KB |
| 370 PublishSubject ReplaySubject BehaviorSubject.mp4 |
20.05MB |
| 371 22.11-email-sign-in-bloc-behavior-subject-v2.zip |
725.12KB |
| 371 Adding a BehaviorSubject to the EmailSignInBloc.en.srt |
5.20KB |
| 371 Adding a BehaviorSubject to the EmailSignInBloc.mp4 |
40.46MB |
| 372 Wrap up and notes about local and remote state management.en.srt |
3.34KB |
| 372 Wrap up and notes about local and remote state management.mp4 |
13.97MB |
| 373 Useful Links Resources.html |
1.92KB |
| 374 Completing the time tracker app overview.en.srt |
1.28KB |
| 374 Completing the time tracker app overview.mp4 |
6.33MB |
| 375 23.02-add-user-account-page-v2.zip |
725.24KB |
| 375 Accessing the User object in the AccountPage.en.srt |
4.66KB |
| 375 Accessing the User object in the AccountPage.mp4 |
37.37MB |
| 376 23.03-add-avatar-image-v2.zip |
725.96KB |
| 376 Adding an Avatar image.en.srt |
5.49KB |
| 376 Adding an Avatar image.mp4 |
46.92MB |
| 377 23.04-account-page-tweaks-v2.zip |
726.15KB |
| 377 Finishing the Avatar code.en.srt |
4.19KB |
| 377 Finishing the Avatar code.mp4 |
34.11MB |
| 378 23.05-fix-entries-bloc-v2.zip |
726.21KB |
| 378 Fixing a small bug in the entries page.en.srt |
1.67KB |
| 378 Fixing a small bug in the entries page.mp4 |
15.23MB |
| 379 Wrapping up the time tracker app.en.srt |
935B |
| 379 Wrapping up the time tracker app.mp4 |
4.62MB |
| 380 Introduction to writing tests.en.srt |
2.84KB |
| 380 Introduction to writing tests.mp4 |
18.70MB |
| 381 Testing Flutter Apps.en.srt |
3.64KB |
| 381 Testing Flutter Apps.mp4 |
19.47MB |
| 382 24.03-writing-first-unit-test-v2.zip |
725.96KB |
| 382 Writing the first unit test.en.srt |
4.42KB |
| 382 Writing the first unit test.mp4 |
25.77MB |
| 383 Running tests.en.srt |
2.07KB |
| 383 Running tests.mp4 |
10.20MB |
| 384 24.05-add-another-test-v2.zip |
726.02KB |
| 384 Checking and fixing errors in tests.en.srt |
1.63KB |
| 384 Checking and fixing errors in tests.mp4 |
10.92MB |
| 385 24.06-red-green-tests-v2.zip |
726.10KB |
| 385 Testing edge cases by writing and fixing failing tests.en.srt |
3.79KB |
| 385 Testing edge cases by writing and fixing failing tests.mp4 |
23.14MB |
| 386 24.07-add-format-tests-v2.zip |
726.60KB |
| 386 Grouping tests together.en.srt |
3.67KB |
| 386 Grouping tests together.mp4 |
28.71MB |
| 387 24.08-add-setup-locale-tests-v2.zip |
726.81KB |
| 387 The setUp method and testing date formatting with locales.en.srt |
4.09KB |
| 387 The setUp method and testing date formatting with locales.mp4 |
38.00MB |
| 388 The test lifecycle methods.en.srt |
2.26KB |
| 388 The test lifecycle methods.mp4 |
13.07MB |
| 389 24.10-completing-format-tests-v2.zip |
726.97KB |
| 389 Completing the formatting tests.en.srt |
3.88KB |
| 389 Completing the formatting tests.mp4 |
39.53MB |
| 390 24.11-start-job-tests-v2.zip |
727.51KB |
| 390 Testing model classes.en.srt |
4.09KB |
| 390 Testing model classes.mp4 |
38.68MB |
| 391 24.12-hash-code-equality-operator-v2.zip |
727.70KB |
| 391 hashCode and the operator.en.srt |
6.22KB |
| 391 hashCode and the operator.mp4 |
55.72MB |
| 392 24.13-complete-job-tests-v2.zip |
727.82KB |
| 392 Adding a toString() method wrap up on unit tests.en.srt |
5.93KB |
| 392 Adding a toString() method wrap up on unit tests.mp4 |
54.70MB |
| 393 24.14-custom-raised-button-tests-v2.zip |
728.35KB |
| 393 Introduction to widget tests.en.srt |
4.65KB |
| 393 Introduction to widget tests.mp4 |
39.04MB |
| 394 24.15-finders-and-matchers-v2.zip |
728.47KB |
| 394 Finding widgets and matcher arguments.en.srt |
3.92KB |
| 394 Finding widgets and matcher arguments.mp4 |
33.01MB |
| 395 24.16-testing-widget-callbacks-v2.zip |
728.57KB |
| 395 Testing widget callbacks.en.srt |
3.01KB |
| 395 Testing widget callbacks.mp4 |
29.34MB |
| 396 Working with Acceptance Criteria.en.srt |
1.88KB |
| 396 Working with Acceptance Criteria.mp4 |
12.00MB |
| 397 24.18-install-mockito-4.1.1-v2.zip |
728.65KB |
| 397 Introduction to test mocks and mockito.en.srt |
2.77KB |
| 397 Introduction to test mocks and mockito.mp4 |
18.23MB |
| 398 24.19-test-harness-email-sign-in-form-v2.zip |
729.33KB |
| 398 Injecting mock objects with Provider.en.srt |
5.21KB |
| 398 Injecting mock objects with Provider.mp4 |
51.24MB |
| 399 24.20-first-email-sign-in-test-v2.zip |
729.53KB |
| 399 Verifying mock methods.en.srt |
4.38KB |
| 399 Verifying mock methods.mp4 |
48.67MB |
| 400 24.21-add-another-test-v2.zip |
729.73KB |
| 400 Working with keys entering text and the pump() method.en.srt |
7.29KB |
| 400 Working with keys entering text and the pump() method.mp4 |
81.05MB |
| 401 24.22-add-first-registration-test-v2.zip |
729.89KB |
| 401 Testing widget updates on state changes.en.srt |
3.42KB |
| 401 Testing widget updates on state changes.mp4 |
38.16MB |
| 402 24.23-add-second-registration-test-v2.zip |
729.97KB |
| 402 Completing the email sign-in tests.en.srt |
3.04KB |
| 402 Completing the email sign-in tests.mp4 |
28.50MB |
| 403 24.24-replace-navigator-pop-callback-v2.zip |
730.05KB |
| 403 Replacing Navigator.pop with a callback when the user signs in.en.srt |
3.24KB |
| 403 Replacing Navigator.pop with a callback when the user signs in.mp4 |
32.72MB |
| 404 24.25-update-tests-handle-callback-v2.zip |
730.20KB |
| 404 Updating the tests to handle the form callback.en.srt |
2.15KB |
| 404 Updating the tests to handle the form callback.mp4 |
31.61MB |
| 405 24.26-stub-mock-objects-v2.zip |
730.39KB |
| 405 Stubbing mock objects.en.srt |
6.12KB |
| 405 Stubbing mock objects.mp4 |
62.47MB |
| 406 Recap on the email sign in forms and stubbing mocks.en.srt |
3.26KB |
| 406 Recap on the email sign in forms and stubbing mocks.mp4 |
32.07MB |
| 407 24.28-landing-page-test-setup-v2.zip |
731.10KB |
| 407 Using widget tests with StreamBuilder.en.srt |
3.88KB |
| 407 Using widget tests with StreamBuilder.mp4 |
45.77MB |
| 408 24.29-complete-landing-page-tests-v2.zip |
731.36KB |
| 408 Using StreamController inside tests.en.srt |
8.17KB |
| 408 Using StreamController inside tests.mp4 |
87.36MB |
| 409 24.30-test-setup-sign-in-page-v2.zip |
732.28KB |
| 409 Test setup for the SignInPage.en.srt |
4.42KB |
| 409 Test setup for the SignInPage.mp4 |
46.01MB |
| 410 24.31-adding-keys-custom-widgets-v2.zip |
732.44KB |
| 410 Adding keys to custom widget classes.en.srt |
3.08KB |
| 410 Adding keys to custom widget classes.mp4 |
36.59MB |
| 411 24.32-testing-navigation-v2.zip |
732.66KB |
| 411 Testing navigation.en.srt |
5.65KB |
| 411 Testing navigation.mp4 |
61.97MB |
| 412 The great thing about widget tests.en.srt |
3.00KB |
| 412 The great thing about widget tests.mp4 |
12.66MB |
| 413 24.34-mock-value-notifier-v2.zip |
733.50KB |
| 413 Testing ValueNotifier models.en.srt |
8.25KB |
| 413 Testing ValueNotifier models.mp4 |
75.15MB |
| 414 24.35-testing-change-notifier-v2.zip |
734.12KB |
| 414 Testing ChangeNotifier models.en.srt |
3.95KB |
| 414 Testing ChangeNotifier models.mp4 |
37.54MB |
| 415 24.36-setup-bloc-test-v2.zip |
734.73KB |
| 415 Testing BloCs.en.srt |
3.91KB |
| 415 Testing BloCs.mp4 |
29.51MB |
| 416 24.37-add-hash-code-equality-email-sign-in-bloc-v2.zip |
734.96KB |
| 416 Comparing EmailSignInModel objects.en.srt |
1.86KB |
| 416 Comparing EmailSignInModel objects.mp4 |
13.29MB |
| 417 24.38-complete-bloc-tests-v2.zip |
735.22KB |
| 417 Testing streams in Blocs.en.srt |
9.83KB |
| 417 Testing streams in Blocs.mp4 |
76.28MB |
| 418 Wrap up on unit widget tests.en.srt |
2.02KB |
| 418 Wrap up on unit widget tests.mp4 |
10.64MB |
| 419 Useful Links Resources.html |
2.69KB |
| 420 Conclusion and Next Steps.en.srt |
6.19KB |
| 420 Conclusion and Next Steps.mp4 |
33.97MB |
| 421 Further reading.html |
2.64KB |