Урок 1.00:01:04
How to Get Help
Урок 2.00:03:30
Course Organization
Урок 3.00:02:44
Dart Overview
Урок 4.00:02:20
The Dartpad Editor
Урок 5.00:02:33
Our First Program
Урок 6.00:02:45
Pulling the Pieces Apart
Урок 7.00:03:37
Functions in Dart
Урок 8.00:08:37
Introduction to Types
Урок 9.00:05:37
Why Use Types?
Урок 10.00:03:20
String Interpolation
Урок 11.00:03:13
Object Oriented Programming in Dart
Урок 12.00:04:34
Creating Classes
Урок 13.00:03:58
Creating Class Instances
Урок 14.00:07:27
Constructor Functions
Урок 15.00:03:42
Review on Constructors
Урок 16.00:01:13
App Overview
Урок 17.00:03:20
OOP Design Flow
Урок 18.00:06:00
Adding Fields to Classes
Урок 19.00:01:23
Associated Methods
Урок 20.00:02:53
More Initialization with Constructors
Урок 21.00:03:09
For Loops
Урок 22.00:03:57
Adding Elements to Lists
Урок 23.00:04:47
More on Variable Initialization
Урок 24.00:03:36
Customizing Print Statements
Урок 25.00:04:31
ToString on Cards
Урок 26.00:06:12
Shuffling a List
Урок 27.00:04:43
Annotating Argument Types
Урок 28.00:03:47
Filtering Lists
Урок 29.00:02:40
Annotating Argument Types
Урок 30.00:05:50
Filtering Lists
Урок 31.00:07:15
Shorthand Function Syntax
Урок 32.00:02:46
Removing Individual Records
Урок 33.00:06:09
RemoveCard Implementation
Урок 34.00:04:01
Named Parameters
Урок 35.00:02:02
Flutter Setup on MacOS
Урок 36.00:02:03
SDK Extraction
Урок 37.00:07:47
Editing the PATH Variable
Урок 38.00:01:25
XCode License
Урок 39.00:01:21
Generating Flutter Projects
Урок 40.00:01:59
Android Setup on MacOS
Урок 41.00:01:18
Android Dependencies
Урок 42.00:01:14
Android Project Setup
Урок 43.00:01:26
More Android Dependencies!
Урок 44.00:01:52
Android Emulator Creation
Урок 45.00:01:28
Flutter Startup
Урок 46.00:00:24
Finished Android Setup
Урок 47.00:01:07
iOS on Mac Setup
Урок 48.00:00:37
XCode Setup
Урок 49.00:01:45
iOS Simulator Startup
Урок 50.00:00:24
App Startup
Урок 51.00:03:40
Flutter Install
Урок 52.00:02:48
More Flutter Installation
Урок 53.00:00:48
Android Install
Урок 54.00:01:04
Additional Dependencies
Урок 55.00:00:54
Generating a Project
Урок 56.00:01:50
Selecting an Image
Урок 57.00:03:19
Starting the Emulator
Урок 58.00:00:24
Finishing Android Setup
Урок 59.00:05:54
What's Flutter About, Anyways?
Урок 60.00:02:08
App Overview
Урок 61.00:04:15
The Four Step Design Process
Урок 62.00:04:37
Import Statements
Урок 63.00:04:57
Creating Widgets
Урок 64.00:02:31
Displaying Content on Screen
Урок 65.00:06:10
Showing a Scaffold
Урок 66.00:03:58
Customizing the App Bar
Урок 67.00:05:03
Named Parameter Clarification
Урок 68.00:03:20
Required Parameters
Урок 69.00:02:18
Child Parameters
Урок 70.00:05:49
Displaying Icons
Урок 71.00:03:51
Adding Custom Widgets
Урок 72.00:04:16
Stateless vs Stateful Widgets
Урок 73.00:04:01
The Build Method
Урок 74.00:05:35
Local Import Statements
Урок 75.00:03:18
Quick Breather and Review
Урок 76.00:05:42
Refactoring Stateless to Stateful
Урок 77.00:08:39
More Refactoring to Stateful Widgets
Урок 78.00:06:34
Generics in Dart
Урок 79.00:06:26
Why Two Classes?
Урок 80.00:03:07
Photos API
Урок 81.00:05:26
Working with JSON
Урок 82.00:04:03
Casting JSON to Model Instances
Урок 83.00:06:37
Named Constructors
Урок 84.00:05:45
Adding an Image Model
Урок 85.00:03:42
Function References
Урок 86.00:04:10
The HTTP Package
Урок 87.00:02:55
Issuing HTTP Requests
Урок 88.00:07:51
Handling Dart Futures
Урок 89.00:04:18
Parsing Future Responses into a Model
Урок 90.00:03:42
Updating the AppState Widget
Урок 91.00:04:58
Building Lists of Widgets
Урок 92.00:03:36
Sending Images to the ImageList
Урок 93.00:05:33
The Final Keyword
Урок 94.00:05:57
Building Lists with ListView
Урок 95.00:01:39
Listing URL's
Урок 96.00:03:57
Text to Images
Урок 97.00:08:08
Containers for Positioning
Урок 98.00:07:20
Adding Border Style
Урок 99.00:09:19
Column Widgets for Layout
Урок 100.00:05:06
Selective Padding
Урок 101.00:04:48
App Review
Урок 102.00:05:27
App Overview
Урок 103.00:04:51
Boilerplate App Code
Урок 104.00:06:33
Creating the Login Screen
Урок 105.00:04:32
More Container Styling
Урок 106.00:08:46
Labels and Hint Text
Урок 107.00:03:22
Customizing Keyboard Type
Урок 108.00:05:10
Handling Password Inputs
Урок 109.00:04:12
Displaying Buttons with RaisedButton
Урок 110.00:01:36
Changing Widget Colors
Урок 111.00:08:06
Layout Control
Урок 112.00:03:45
Form Validation
Урок 113.00:04:25
Referencing Widgets with Global Keys
Урок 114.00:05:19
The Form Widget and FormState
Урок 115.00:02:10
Creating a Global Key
Урок 116.00:04:31
Referencing FormState with Global Keys
Урок 117.00:05:56
Validating via FormState
Урок 118.00:06:39
Triggering Validation
Урок 119.00:06:32
Retrieving Form Values
Урок 120.00:04:03
Final Form Submittal
Урок 121.00:03:55
Code Reuse with Mixins
Урок 122.00:05:12
Mixin Validator Implementation
Урок 123.00:01:01
A Quick Detour
Урок 124.00:06:00
Streams by Analogy
Урок 125.00:04:09
Characteristics of Streams
Урок 126.00:05:19
StreamControllers and Sinks
Урок 127.00:02:40
Mapping a Stream
Урок 128.00:04:26
Adding a StreamTransformer
Урок 129.00:03:28
Implementing the Listener
Урок 130.00:07:53
Stream Review
Урок 131.00:05:36
Let's Build a Game
Урок 132.00:09:48
Why Streams?
Урок 133.00:05:33
Word Guessing
Урок 134.00:06:09
Stream's 'Take' and 'Where' Functions
Урок 135.00:05:57
Validation with Streams
Урок 136.00:04:20
Email Validation
Урок 137.00:04:36
Wiring up the Error
Урок 138.00:06:43
BLOC's vs Stateful Widgets
Урок 139.00:07:40
The Purpose of Streams with Blocs
Урок 140.00:00:56
Generating a New Project
Урок 141.00:03:06
App Boilerplate
Урок 142.00:03:14
Second Time on LoginScreen
Урок 143.00:07:49
TextFields with RaisedButtons
Урок 144.00:03:18
How to Use TextFields
Урок 145.00:04:04
BLOC Design for TextFields
Урок 146.00:05:02
Annotating Stream Types
Урок 147.00:06:27
Issues with Bloc Access
Урок 148.00:08:41
Shortcut Access with Getters
Урок 149.00:07:33
Public vs Private Fields
Урок 150.00:04:08
Improving the BLOC Api
Урок 151.00:06:53
Validation Transformers
Урок 152.00:04:27
A Technicality Around Mixins
Урок 153.00:03:19
Cleaning Up Controllers
Урок 154.00:06:50
Bloc Application
Урок 155.00:11:27
The StreamBuilder Widget
Урок 156.00:04:19
Streambuilder for Password Fields
Урок 157.00:03:09
Scoped Bloc Approach
Урок 158.00:05:38
Provider Implementation
Урок 159.00:07:34
The Provider's 'of' Function
Урок 160.00:02:17
The Provider's Constructor
Урок 161.00:03:20
The Provider in Action
Урок 162.00:05:33
Accessing the Bloc
Урок 163.00:05:38
Breather and Review
Урок 164.00:05:17
Enabling Form Submission
Урок 165.00:04:08
Stream Merging Possibilities
Урок 166.00:04:14
Introducing RxDart
Урок 167.00:05:53
More on RxDart
Урок 168.00:10:07
The CombineLatest Function
Урок 169.00:06:39
CombineLatest in Action
Урок 170.00:03:40
More on StreamBuilder
Урок 171.00:05:58
Interpreting Stream Values
Урок 172.00:04:42
Broadcast Streams
Урок 173.00:03:14
Disabled by Default
Урок 174.00:08:22
Replacing Controllers with Subjects
Урок 175.00:03:24
Review of BLOCs
Урок 176.00:02:53
App Overview
Урок 177.00:10:38
Animation Library Classes
Урок 178.00:02:48
App Boilerplate
Урок 179.00:04:20
StatefulWidgets for Animations
Урок 180.00:02:27
Widget Structure
Урок 181.00:03:45
Displaying a Cat
Урок 182.00:03:55
The InitState Method
Урок 183.00:05:46
Declaring the TickerProvider
Урок 184.00:05:44
Tweens with Curves
Урок 185.00:05:03
Performance Savings with AnimatedBuilder
Урок 186.00:07:02
Nature of Animation
Урок 187.00:01:48
Starting the Animation
Урок 188.00:05:00
Watching for Taps with GestureDetector
Урок 189.00:06:35
Reversing Animation States
Урок 190.00:03:28
Building the Box
Урок 191.00:02:44
Layouts with the Stack Widget
Урок 192.00:02:52
Order of Drawing Widgets
Урок 193.00:03:34
Add Center Widget
Урок 194.00:11:07
Positioned Widgets
Урок 195.00:06:58
Expanding Stack Dimensions
Урок 196.00:07:17
Three Reasons for Strange Layouts
Урок 197.00:03:58
Positioned Constraints
Урок 198.00:03:57
Negative Offsets
Урок 199.00:03:46
Stack Clip Settings
Урок 200.00:02:20
Adjusting Tween Ranges
Урок 201.00:03:29
Adding Box Flaps
Урок 202.00:06:14
Rotating Widgets
Урок 203.00:06:15
Rotation by Radians
Урок 204.00:03:38
Changing Rotation Point
Урок 205.00:05:19
A Touch of Positioning
Урок 206.00:07:00
BoxAnimation Controller
Урок 207.00:06:28
Adding Animated Builders
Урок 208.00:04:10
Resetting Animations
Урок 209.00:04:21
Constraining Animation Range
Урок 210.00:03:15
Adding the Right Flap
Урок 211.00:04:06
Negative Rotation Values
Урок 212.00:02:37
Toggling Animation State
Урок 213.00:02:50
Animation Wrapup
Урок 214.00:03:09
App Overview
Урок 215.00:08:52
Hacker News API
Урок 216.00:08:05
More API Challenges
Урок 217.00:08:28
API Performance Strategy
Урок 218.00:08:39
Creating the ItemModel Class
Урок 219.00:05:25
A Few More ItemModel Properties
Урок 220.00:06:47
API Provider Implementation
Урок 221.00:08:33
Fetching Individual Items
Урок 222.00:04:44
Testing with Dart
Урок 223.00:05:10
A Few Imports
Урок 224.00:05:23
Writing Expectations
Урок 225.00:05:53
Mocking HTTP Requests
Урок 226.00:05:43
Returning JSON
Урок 227.00:05:18
Testing FetchItem
Урок 228.00:04:04
SQLite DB Provider
Урок 229.00:04:28
Database Imports
Урок 230.00:02:23
Async Constructors
Урок 231.00:05:10
Creating a DB Connection
Урок 232.00:03:42
Creating Tables with SQLite
Урок 233.00:04:23
Adding Table Columns
Урок 234.00:07:56
Issuing Queries
Урок 235.00:04:32
Multiple Named Constructors
Урок 236.00:04:32
Massaging DB Return Maps
Урок 237.00:08:42
Turning Class Instances to Maps
Урок 238.00:04:06
Implementing the Repository
Урок 239.00:07:10
More on the Repository
Урок 240.00:06:13
Type Annotations
Урок 241.00:03:32
Casting Lists
Урок 242.00:02:46
More on the Repository
Урок 243.00:07:03
Abstract Classes
Урок 244.00:04:28
The Need for Abstract Classes
Урок 245.00:07:35
Why Abstract Classes?
Урок 246.00:07:03
More on Abstract Classes
Урок 247.00:07:17
Repository Interface Design
Урок 248.00:05:53
Defining the Source
Урок 249.00:02:09
Cache Definitions
Урок 250.00:03:31
Lists of Sources and Caches
Урок 251.00:04:06
Ultimate Reusability
Урок 252.00:02:19
Quick Gotcha
Урок 253.00:01:08
Another Quick Gotcha!
Урок 254.00:02:29
FetchTopIds Implementation
Урок 255.00:02:46
App Setup
Урок 256.00:02:46
A Touch of Boilerplate
Урок 257.00:10:13
Data Fetching Concerns
Урок 258.00:03:23
Solution Outline
Урок 259.00:12:05
FutureBuilder in Action
Урок 260.00:06:03
The Stories Provider
Урок 261.00:06:50
Bloc Design
Урок 262.00:03:33
Exposing Bloc Getters
Урок 263.00:03:21
Wiring up the Stories Provider
Урок 264.00:07:52
Bloc Testing
Урок 265.00:03:24
Type Annotations Solve Problems
Урок 266.00:03:21
Circular Progress Indicator
Урок 267.00:07:02
Item Fetching Architecture
Урок 268.00:08:34
Giant Gotcha with StreamBuilder
Урок 269.00:07:17
Giant Gotcha Solution
Урок 270.00:05:39
Implementing ScanStreamTransformer
Урок 271.00:02:28
Finishing the ScanStreamTransformer
Урок 272.00:03:50
Adding the Items Controller
Урок 273.00:03:29
A Gotcha Around Streams? Impossible!
Урок 274.00:03:47
Single Transformer Application
Урок 275.00:04:08
The ListView Tile
Урок 276.00:03:28
StreamBuilder Setup
Урок 277.00:03:57
Wrapping Up the FutureBuilder
Урок 278.00:03:57
Double Gotcha!
Урок 279.00:10:02
Stream Subscriptions
Урок 280.00:01:14
Stream Subscription Fix
Урок 281.00:02:38
Additional Streams
Урок 282.00:08:43
A Laborious Refactor
Урок 283.00:02:29
Result of Refactor
Урок 284.00:03:58
Quick Debug Session
Урок 285.00:09:01
Resolving Database Conflicts
Урок 286.00:05:19
Building Story Tiles
Урок 287.00:04:44
Comments Icon
Урок 288.00:05:37
Applying Dividers with Height
Урок 289.00:03:24
Loading Container Stand-in
Урок 290.00:04:22
Building the Loading Container
Урок 291.00:02:56
Showing the Loading Container
Урок 292.00:02:36
Long-Lived Cache Values
Урок 293.00:02:55
Swipe to Refresh Indicator
Урок 294.00:04:34
Implementing a Refresh Widget
Урок 295.00:07:52
Clearing Database Tables
Урок 296.00:08:23
Communicating a Future to onRefresh
Урок 297.00:04:06
Navigation in Flutter
Урок 298.00:05:57
Map Based Routing
Урок 299.00:03:40
OnGenerateRoute-Based Navigation
Урок 300.00:06:35
OnGenerateRoute Implementation
Урок 301.00:10:06
Navigating in Style!
Урок 302.00:07:26
A PageRoute for NewsDetail
Урок 303.00:03:42
A Scaffold in NewsDetail
Урок 304.00:04:44
Parsing Route Settings
Урок 305.00:06:05
The Comments Bloc Provider
Урок 306.00:05:13
Comments Bloc Design
Урок 307.00:07:36
More on Comments Bloc
Урок 308.00:12:47
Recursive Data Fetching
Урок 309.00:03:43
Connecting the Comments Provider
Урок 310.00:03:23
Testing Recursive Fetching
Урок 311.00:05:16
Consuming the Item Map
Урок 312.00:05:49
Displaying the Story Title
Урок 313.00:06:15
Text Styling
Урок 314.00:05:32
Container Alignment
Урок 315.00:07:30
Building the Comments List
Урок 316.00:04:40
More Logic Extraction
Урок 317.00:05:02
The Comment Widget
Урок 318.00:03:22
Comment's FutureBuilder
Урок 319.00:06:35
Showing Individual COmments
Урок 320.00:05:51
Recursive Rendering
Урок 321.00:04:27
Styling the Comment List
Урок 322.00:03:38
Defaulting Null Values
Урок 323.00:02:57
Handling Deleted Comments
Урок 324.00:03:27
Nested Comments
Урок 325.00:05:25
ListTile's ContentPadding Property
Урок 326.00:05:15
Replacing Placeholder Characters
Урок 327.00:02:57
Loading Containers for Comments
Урок 328.00:06:11
App Wrapup
Урок 329.00:01:42
Last Fix!
Урок 330.00:02:39
Dart Local Installation
Урок 331.00:03:24
Dart Install on Mac
Урок 332.00:03:44
Editor Setup for Dart
Урок 333.00:02:39
App Overview
Урок 334.00:06:44
Folder and File Structure
Урок 335.00:03:09
The PubSpec File
Урок 336.00:03:59
Running Dart Files
Урок 337.00:08:16
Program Design Methodology
Урок 338.00:02:39
Class Creation
Урок 339.00:03:16
Terminal Design
Урок 340.00:02:15
Terminal Implementation
Урок 341.00:05:18
Stdout and Stdin
Урок 342.00:06:25
Import Statements
Урок 343.00:04:36
Stdout Instance
Урок 344.00:09:55
More on Import Statements
Урок 345.00:03:23
Testing the Import Class
Урок 346.00:03:52
Checking Operating System
Урок 347.00:02:24
Clearing Windows Terminal
Урок 348.00:01:08
Clearing Other Terminals
Урок 349.00:01:23
Testing ClearScreen
Урок 350.00:07:13
Collecting Input Over Stdin
Урок 351.00:07:08
Option Class FIelds
Урок 352.00:02:15
Adding Dynamic Fields
Урок 353.00:06:59
Printing Individual Options
Урок 354.00:04:37
Testing Option Printing
Урок 355.00:04:36
List Shortcomings
Урок 356.00:11:36
Maps in Dart
Урок 357.00:03:44
Refactor to Maps
Урок 358.00:04:01
The Prompter Class
Урок 359.00:03:55
Testing the Prompter
Урок 360.00:04:30
Extracting the Terminal
Урок 361.00:07:02
Var vs Final for Variables
Урок 362.00:06:02
Final's Affect on Values
Урок 363.00:06:23
Const's Dual Nature
Урок 364.00:12:03
Const's Behavior by Type
Урок 365.00:02:13
Marking Terminal as Const
Урок 366.00:07:23
Private Variables
Урок 367.00:05:36
Finishing Prompter
Урок 368.00:03:26
Error Handling
Урок 369.00:04:05
Asking Binary Questions
Урок 370.00:04:21
Testing Binary Inputs
Урок 371.00:04:34
Code Similarities
Урок 372.00:05:01
Refactor for Code Reuse
Урок 373.00:05:16
More on Private
Урок 374.00:02:45
Central Lib File
Урок 375.00:03:10
A Single Export Point
Урок 376.00:03:17
A Relevant Example File
Урок 377.00:02:54
Outstanding Project Config
Урок 378.00:05:41
Uploading the Prompter Lib
Урок 379.00:02:52
App Overview
Урок 380.00:04:06
Project Setup
Урок 381.00:05:39
Importing Library Code
Урок 382.00:04:10
Forcibly Exiting a Program
Урок 383.00:03:28
Prompting for File Type
Урок 384.00:04:14
Implementation Flow
Урок 385.00:05:08
Working with the Current Directory
Урок 386.00:07:14
Filtering Non-Files
Урок 387.00:03:30
Filtering Non-Images
Урок 388.00:06:04
Building Options from Images
Урок 389.00:02:30
Testing Image Selection
Урок 390.00:06:07
Converting Images
Урок 391.00:03:04
The ConvertImage Function
Урок 392.00:03:41
Reading File Contents
Урок 393.00:03:40
Encoding to JPG or PNG
Урок 394.00:05:34
Writing Files to the Hard Drive
Урок 395.00:01:43
Returning the Image Name
Урок 396.00:02:38
Testing Image Conversion
Урок 397.00:03:24
Opening the Image
Please can you update this course.