udemy-dart-and-flutter-the-complete-developer-s-guide-2022-5-1

for Reactive Programming\ 0:33 Introducing RxDart 4:46 More on RxDart 10:39 The CombineLatest Function 20:45 CombineLatest in Action 27:24 More on StreamBuilder 31:03 Interpreting Stream Values 37:00 Broadcast Streams 41:42 Disabled by Default 44:55 Replacing Controllers with Subjects 53:16 Review of BLOCs Delightful Animations\ 56:39 App Overview 59:32 Animation Library Classes 1:10:10 App Boilerplate 1:12:57 StatefulWidgets for Animations 1:17:17 Widget Structure 1:19:43 Displaying a Cat 1:23:27 The InitState Method 1:27:22 Declaring the TickerProvider 1:33:08 Tweens with Curves 1:38:51 Performance Savings with AnimatedBuilder 1:43:54 Nature of Animation 1:50:55 Starting the Animation 1:52:43 Watching for Taps with GestureDetector 1:57:42 Reversing Animation States 2:04:17 Building the Box 2:07:44 Layouts with the Stack Widget 2:10:27 Order of Drawing Widgets 2:13:19 Add Center Widget 2:16:52 Positioned Widgets 2:27:58 Expanding Stack Dimensions 2:34:56 Three Reasons for Strange Layouts 2:42:13 Positioned Constraints 2:46:11 Negative Offsets 2:50:07 Stack Clip Settings 2:53:53 Adjusting Tween Ranges 2:56:12 Adding Box Flaps 2:59:41 Rotating Widgets 3:05:54 Rotation by Radians 3:12:09 Changing Rotation Point 3:15:47 A Touch of Positioning 3:21:05 BoxAnimation Controller 3:28:05 Adding Animated Builders 3:34:33 Resetting Animations 3:38:42 Constraining Animation Range 3:43:02 Adding the Right Flap 3:46:17 Negative Rotation Values 3:50:22 Toggling Animation State 3:52:59 Animation Wrapup Data Fetching\ 3:55:48 App Overview 3:58:57 Hacker News API 4:07:48 More API Challenges 4:15:52 API Performance Strategy 4:24:20 Creating the ItemModel Class 4:32:58 A Few More ItemModel Properties 4:38:23 API Provider Implementation 4:45:09 Fetching Individual Items with Flutter and Dart\ 4:53:42 Testing with Dart 4:58:25 A Few Imports 5:03:35 Writing Expectations 5:08:57 Mocking HTTP Requests 5:14:50 Returning JSON 5:20:33 Testing FetchItem Data Storage\ 5:25:50 SQLite DB Provider 5:29:54 Database Imports 5:34:21 Async Constructors 5:36:43 Creating a DB Connection 5:41:52 Creating Tables with SQLite 5:45:34 Adding Table Columns 5:49:56 Issuing Queries 5:57:52 Multiple Named Constructors 6:02:24 Massaging DB Return Maps 6:06:55 Turning Class Instances to Maps 6:15:36 Implementing the Repository 6:19:41 More on the Repository 6:26:50 Type Annotations 6:33:02 Casting Lists Design\ 6:36:34 More on the Repository 6:39:20 Abstract Classes 6:46:22 The Need for Abstract Classes 6:50:50 Why Abstract Classes 6:58:25 More on Abstract Classes 7:05:27 Repository Interface Design 7:12:44 Defining the Source 7:18:37 Cache Definitions 7:20:45 Lists of Sources and Caches 7:24:16 Ultimate Reusability 7:28:21 Quick Gotcha 7:30:40 Another Quick Gotcha! 7:31:47 FetchTopIds Implementation Demand Widget Rendering\ 7:34:16 App Setup 7:37:01 A Touch of Boilerplate 7:39:47 Data Fetching Concerns 7:50:00 Solution Outline 7:53:22 FutureBuilder in Action 8:05:26 The Stories Provider 8:11:29 Bloc Design 8:18:18 Exposing Bloc Getters 8:21:51 Wiring up the Stories Provider 8:25:11 Bloc Testing 8:33:02 Type Annotations Solve Problems 8:36:26 Circular Progress Indicator 8:39:46 Item Fetching Architecture 8:46:47 Giant Gotcha with StreamBuilder 8:55:21 Giant Gotcha Solution 9:02:37 Implementing ScanStreamTransformer 9:08:16 Finishing the ScanStreamTransformer 9:10:43 Adding the Items Controller 9:14:33 A Gotcha Around Streams Impossible! 9:18:02 Single Transformer Application 9:21:49 The ListView Tile 9:25:56 StreamBuilder Setup 9:29:23 Wrapping Up the FutureBuilder 9:33:20 Double Gotcha! 9:37:17 Stream Subscriptions 9:47:19 Stream Subscription Fix 9:48:32 Additional Streams 9:51:10 A Laborious Refactor 9:59:52 Result of Refactor 10:02:21 Quick Debug Session 10:06:18 Resolving Database Conflicts 10:15:18 Building Story Tiles 10:20:36 Comments Icon 10:25:20 Applying Dividers with Height 10:30:56 Loading Container Stand-in 10:34:20 Building the Loading Container 10:38:41 Showing the Loading Container 10:41:37 Long-Lived Cache Values 10:44:12 Swipe to Refresh Indicator 10:47:07 Implementing a Refresh Widget 10:51:40 Clearing Database Tables 10:59:31 Communicating a Future to onRefresh with Flutter\ 11:07:54 Navigation in Flutter 11:12:00 Map Based Routing 11:17:57 OnGenerateRoute-Based Navigation 11:21:36 OnGenerateRoute Implementation 11:28:11 Navigating in Style! 11:38:16 A PageRoute for NewsDetail 11:45:41 A Scaffold in NewsDetail 11:49:23 Parsing Route Settings 11:54:06 The Comments Bloc Provider
Back to Top