Урок 1.00:01:17
Welcome To This Course!
Урок 2.00:02:50
What Is Flutter?
Урок 3.00:01:52
Flutter uses Dart!
Урок 4.00:02:57
One Codebase, Multiple Platforms
Урок 5.00:03:59
Flutter Setup - Overview
Урок 6.00:13:27
Windows Setup
Урок 7.00:17:54
macOS Setup
Урок 8.00:05:11
Project Creation & Setting Up a Code Editor for Flutter Development
Урок 9.00:09:07
Running a First Flutter App
Урок 10.00:02:36
Understanding Material Design
Урок 11.00:04:44
About This Course
Урок 12.00:01:22
Module Introduction
Урок 13.00:08:51
Analyzing A New Flutter Project
Урок 14.00:03:06
Form Dart To Machine Code
Урок 15.00:05:52
How Programming Languages Work
Урок 16.00:06:06
Starting From Scratch: Understanding Functions
Урок 17.00:05:03
Importing Features From Packages
Урок 18.00:02:27
How Flutter Apps Start
Урок 19.00:02:53
Understanding Widgets
Урок 20.00:04:38
Using a First Widget & Passing Values to Functions
Урок 21.00:03:59
Positional & Named Arguments
Урок 22.00:02:51
Combining Multiple Widgets
Урок 23.00:03:59
Understanding "const" Values
Урок 24.00:07:26
Building More Complex Widget Trees
Урок 25.00:06:55
Understanding Value Types
Урок 26.00:07:25
Configuring Widgets & Understanding Objects
Урок 27.00:05:15
Working with "Configuration Objects" (Non-Widget Objects)
Урок 28.00:04:14
Generics, Lists & Adding Gradient Colors
Урок 29.00:03:04
How To Configure Widgets & Objects
Урок 30.00:03:28
Practice: Styling Text
Урок 31.00:02:38
Onwards to Custom Widgets: Why Do You Need Them?
Урок 32.00:05:02
Understanding Classes
Урок 33.00:09:28
Building Custom Widgets
Урок 34.00:05:57
Working with Constructor Functions
Урок 35.00:03:19
Splitting Code Across Files
Урок 36.00:03:50
Practice: Create a Custom Widget
Урок 37.00:05:23
Introducing Variables
Урок 38.00:02:24
Variables & Types - Combining Two Key Concepts
Урок 39.00:04:54
"final" & "const" - Special Kinds Of "Variables"
Урок 40.00:10:04
Instance Variables (Properties) & Configurable Widgets
Урок 41.00:06:41
Practice: Reusable Widgets & Constructor Functions
Урок 42.00:06:36
Displaying Images & Using Multiple Constructor Functions
Урок 43.00:06:09
Adding Buttons & Using Functions As Values
Урок 44.00:06:18
Styling Buttons & Working with Padding
Урок 45.00:03:49
How NOT To Build Interactive Widgets
Урок 46.00:15:07
Introducing Stateful Widgets
Урок 47.00:07:55
Generating Random Numbers
Урок 48.00:10:22
Module Summary
Урок 49.00:02:02
Module Introduction
Урок 50.00:02:22
A Challenge For You!
Урок 51.00:11:47
Challenge Solution 1/2 - Creating a Widget
Урок 52.00:17:07
Challenge Solution 2/2 - Working with More Widgets
Урок 53.00:03:44
Adding Icons to Buttons
Урок 54.00:04:23
Adding Transparency to Widgets
Урок 55.00:10:51
Repetition & Exercise: Adding a Stateful Widget
Урок 56.00:07:03
Rendering Content Conditionally
Урок 57.00:09:17
Accepting & Passing Functions as Values
Урок 58.00:04:29
The "initState" Method
Урок 59.00:07:06
Using Ternary Expressions & Comparison Operators
Урок 60.00:04:53
Understanding "if" Statements
Урок 61.00:08:49
Adding a Data Model & Dummy Data
Урок 62.00:05:36
Configuring a Column
Урок 63.00:12:06
Creating a Reusable, Custom Styled Button
Урок 64.00:05:54
Accessing List Elements & Object Properties
Урок 65.00:07:46
Mapping Lists & Using the Spread Operator
Урок 66.00:03:58
Alignment, Margin & Padding
Урок 67.00:05:47
Mutating Values in Memory
Урок 68.00:05:50
Managing The Questions Index As State
Урок 69.00:01:21
More on Button Styling
Урок 70.00:07:27
Using Third-Party Packages & Adding Google Fonts
Урок 71.00:13:19
Passing Data via Functions Across Widgets
Урок 72.00:04:28
More Conditions
Урок 73.00:08:03
Getting Started with the Results Screen
Урок 74.00:02:41
Passing Data to the Results Screen
Урок 75.00:12:01
Introducing Maps & "for" Loops
Урок 76.00:10:54
Accessing Map Values & Using "Type Casting"
Урок 77.00:06:08
Combining Columns & Rows
Урок 78.00:03:08
Expanded To The Rescue!
Урок 79.00:07:44
Filtering & Analyzing Lists
Урок 80.00:04:08
Making Content Scrollable with SingleChildScrollView
Урок 81.00:08:54
Beyond the Basics: Optional, Important Dart Features
Урок 82.00:07:33
Module Summary
Урок 83.00:00:57
Module Introduction
Урок 84.00:01:09
The Starting Project & A Problem
Урок 85.00:07:37
Understanding Error Messages
Урок 86.00:15:00
Debugging Apps & Using "Debug Mode"
Урок 87.00:07:42
Working with the Flutter DevTools
Урок 88.00:01:39
Module Introduction
Урок 89.00:07:08
Starting Setup & Repetition Time!
Урок 90.00:07:00
Adding an Expense Data Model with a Unique ID & Exploring Initializer Lists
Урок 91.00:04:11
Introducing Enums
Урок 92.00:04:03
Creating Dummy Data
Урок 93.00:10:22
Efficiently Rendering Long Lists with ListView
Урок 94.00:02:28
Using Lists Inside Of Lists
Урок 95.00:16:48
Creating a Custom List Item with the Card & Spacer Widgets
Урок 96.00:07:26
Using Icons & Formatting Dates
Урок 97.00:06:47
Setting an AppBar with a Title & Actions
Урок 98.00:07:25
Adding a Modal Sheet & Understanding Context
Урок 99.00:08:15
Handling User (Text) Input with the TextField Widget
Урок 100.00:04:54
Getting User Input on Every Keystroke
Урок 101.00:04:11
Letting Flutter do the Work with TextEditingController
Урок 102.00:01:12
Time to Practice: Adding a New Input
Урок 103.00:03:51
Exercise Solution
Урок 104.00:01:48
Closing The Modal Manually
Урок 105.00:08:34
Showing a Date Picker
Урок 106.00:07:42
Working with "Futures" for Handling Data from the Future
Урок 107.00:10:58
Adding a Dropdown Button
Урок 108.00:07:49
Combining Conditions with AND and OR Operators
Урок 109.00:05:12
Validating User Input & Showing an Error Dialog
Урок 110.00:06:00
Saving New Expenses
Урок 111.00:02:03
Creating a Fullscreen Modal
Урок 112.00:07:47
Using the Dismissible Widget for Dismissing List Items
Урок 113.00:09:14
Showing & Managing "Snackbars"
Урок 114.00:07:44
Getting Started with Theming
Урок 115.00:06:40
Setting & Using a Color Scheme
Урок 116.00:09:01
Setting Text Themes
Урок 117.00:09:03
Using Theme Data in Widgets
Урок 118.00:07:14
Adding Dark Mode
Урок 119.00:05:04
Using Another Kind of Loop (for-in)
Урок 120.00:04:40
Adding Alternative Constructor Functions & Filtering Lists
Урок 121.00:10:28
Adding Chart Widgets
Урок 122.00:02:46
Module Summary
Урок 123.00:00:58
Module Introduction
Урок 124.00:02:07
What is "Responsiveness"?
Урок 125.00:04:54
Locking the Device Orientiation
Урок 126.00:07:56
Updating the UI based on the Available Space
Урок 127.00:07:10
Understanding Size Constraints
Урок 128.00:05:13
Handling to Screen Overlays like the Soft Keyboard
Урок 129.00:02:54
Understanding "Safe Areas"
Урок 130.00:12:05
Using the LayoutBuilder Widget
Урок 131.00:07:15
Building Adaptive Widgets
Урок 132.00:01:27
Module Summary
Урок 133.00:01:10
Module Introduction
Урок 134.00:04:47
Three Trees: Widget Tree, Element Tree & Render Tree
Урок 135.00:06:52
How The UI Is Updated
Урок 136.00:06:35
Refactor & Extract Widgets To Avoid Unnecessary Builds
Урок 137.00:04:35
Understanding Keys - Setup
Урок 138.00:05:34
Which Problem Do Keys Solve?
Урок 139.00:04:13
Understanding & Using Keys
Урок 140.00:06:57
Mutating Values in Memory & Making Sense of var, final & const
Урок 141.00:00:56
Module Summary
Урок 142.00:02:06
Module Introduction
Урок 143.00:01:36
Project Setup
Урок 144.00:07:59
Using a GridView
Урок 145.00:06:13
Widgets vs Screens
Урок 146.00:08:03
Displaying Category Items on a Screen
Урок 147.00:03:35
Making any Widget Tappable with InkWell
Урок 148.00:05:21
Adding Meals Data
Урок 149.00:06:38
Loading Meals Data Into a Screen
Урок 150.00:08:42
Adding Cross-Screen Navigation
Урок 151.00:04:54
Passing Data to the Target Screen
Урок 152.00:17:02
Introducing the Stack Widget
Урок 153.00:11:54
Improving the MealItem Widget
Урок 154.00:09:59
Adding Navigation to the MealDetails Screen
Урок 155.00:08:16
Improving the MealDetails Screen
Урок 156.00:16:35
Adding Tab-based Navigation
Урок 157.00:11:56
Passing Functions Through Multiple Layers of Widgets (for State Management)
Урок 158.00:05:29
Managing App-wide State & Data
Урок 159.00:14:09
Adding a Side Drawer
Урок 160.00:05:36
Closing the Drawer Manually
Урок 161.00:07:34
Adding a Filter Item
Урок 162.00:07:59
Replacing Screens (Instead of Pushing)
Урок 163.00:02:45
Adding More Filter Options
Урок 164.00:06:19
Returning Data When Leaving a Screen
Урок 165.00:04:32
Reading & Using Returned Data
Урок 166.00:15:51
Applying Filters
Урок 167.00:03:05
Module Summary
Урок 168.00:01:30
Module Introduction
Урок 169.00:02:09
What's The Problem?
Урок 170.00:01:21
Installing the Solution: Riverpod
Урок 171.00:01:22
How State Management with Riverpod Works
Урок 172.00:03:56
Creating a Provider
Урок 173.00:07:18
Using a Provider
Урок 174.00:12:19
Creating a More Complex Provider with StateNotifier
Урок 175.00:04:50
Using the FavoritesProvider
Урок 176.00:05:32
Triggering a Notifier Method
Урок 177.00:08:25
Getting Started with Another Provider
Урок 178.00:06:34
Combining Local & Provider-managed State
Урок 179.00:05:37
Outsourcing State Into The Provider
Урок 180.00:05:20
Connecting Multiple Providers With Each Other (Dependent Providers)
Урок 181.00:02:42
Swapping The "Favorite Button" Based On Provider State
Урок 182.00:03:12
Module Summary
Урок 183.00:00:45
Module Introduction
Урок 184.00:01:53
Setup & Understanding Explicit vs Implicit Animations
Урок 185.00:09:36
Explicit Animations: Adding an Animation Controller
Урок 186.00:08:40
Explicit Animations: Playing the Animation with AnimatedBuilder
Урок 187.00:08:37
Finetuning Explicit Animations
Урок 188.00:07:24
Getting Started with Implicit Animations
Урок 189.00:05:50
Configuring Implicit Animations
Урок 190.00:03:55
Adding Multi-Screen Transitions
Урок 191.00:02:29
Module Summary
Урок 192.00:01:19
Module Introduction
Урок 193.00:03:00
Setup & A Challenge For You
Урок 194.00:08:07
Challenge Solution 1 - Building & Using Models
Урок 195.00:09:28
Challenge Solution 2 - Building the List UI
Урок 196.00:07:46
Adding a "New Item" Screen
Урок 197.00:06:24
The Form & TextFormField Widgets
Урок 198.00:09:17
A Form-aware Dropdown Button
Урок 199.00:02:23
Adding Buttons to a Form
Урок 200.00:08:12
Adding Validation Logic
Урок 201.00:07:20
Getting Form Access via a Global Key
Урок 202.00:09:20
Extracting Entered Values
Урок 203.00:07:17
Passing Data Between Screens
Урок 204.00:04:19
Final Challenge Solution
Урок 205.00:01:13
Module Summary
Урок 206.00:00:39
Module Introduction
Урок 207.00:03:33
What's a Backend? And Why Would You Want One?
Урок 208.00:04:11
What Is HTTP & How Does It Work?
Урок 209.00:03:26
Setting Up a Dummy Backend (Firebase)
Урок 210.00:03:19
Adding the http Package
Урок 211.00:09:58
Sending a POST Request to the Backend
Урок 212.00:08:57
Working with the Request & Waiting for the Response
Урок 213.00:14:58
Fetching & Transforming Data
Урок 214.00:04:47
Avoiding Unnecessary Requests
Урок 215.00:07:08
Managing the Loading State
Урок 216.00:05:15
Error Response Handling
Урок 217.00:06:45
Sending DELETE Requests
Урок 218.00:03:44
Handling the "No Data" Case
Урок 219.00:05:53
Better Error Handling
Урок 220.00:02:21
Module Summary
Урок 221.00:18:08
Using the FutureBuilder Widget
Урок 222.00:01:53
Module Introduction
Урок 223.00:03:45
Setup & A Challenge For You!
Урок 224.00:02:27
Adding a Place Model (Challenge Solution 1/6)
Урок 225.00:10:01
Adding a "Places" Screen (Challenge Solution 2/6)
Урок 226.00:09:39
Adding an "Add Place" Screen (Challenge Solution 3/6)
Урок 227.00:07:00
Adding "riverpod" & A Provider (Challenge Solution 4/6)
Урок 228.00:07:35
Adding Places with Provider & Displaying Places (Challenge Solution 5/6)
Урок 229.00:04:56
Adding a "Place Details" Screen (Challenge Solution 6/6)
Урок 230.00:07:55
Adding a "Pick an Image" Input
Урок 231.00:05:06
Installing the "Image Picker" Package
Урок 232.00:10:40
Using the Device Camera For Taking Pictures
Урок 233.00:06:11
Adding the Picked Image to the Model & "Add Place" Form
Урок 234.00:04:55
Previewing the Picked Image
Урок 235.00:08:51
Adding the "location" Package & Starting with the "Get Location" Input Widget
Урок 236.00:06:14
Getting the User's Current Location
Урок 237.00:03:35
Using the Google Maps API - Setup
Урок 238.00:06:24
Using Google's Geocoding API
Урок 239.00:03:36
Storing the Location Data in the Model
Урок 240.00:07:18
Displaying a Location Preview Map Snapshot via Google
Урок 241.00:03:22
Using the Picked Location in the Form
Урок 242.00:07:47
Outputting the Location Data
Урок 243.00:03:44
Installing & Configuring the Google Maps Package
Урок 244.00:09:38
Adding a "Map" Screen
Урок 245.00:02:56
Displaying the Picked Place on a Dynamic Map
Урок 246.00:04:38
Handling Map Taps for Selecting a Location Manually
Урок 247.00:08:25
Using the Map Screen in the "Add Place" Form
Урок 248.00:04:01
Installing Packages for Local (On-Device) Data Storage
Урок 249.00:05:00
Storing the Picked Image Locally
Урок 250.00:08:51
Storing Place Data in a (On-Device) SQL Database
Урок 251.00:08:10
Loading Data from the SQL Database
Урок 252.00:06:02
Using a FutureBuilder for Loading Data
Урок 253.00:02:16
Module Summary
Урок 254.00:01:38
Module Introduction
Урок 255.00:05:41
App & Firebase Setup
Урок 256.00:11:56
Adding an Authentication Screen
Урок 257.00:06:45
Adding Buttons & Modes to the Authentication Screen
Урок 258.00:08:27
Validating User Input
Урок 259.00:08:04
Firebase CLI & SDK Setup 1/2
Урок 260.00:06:15
Firebase CLI & SDK Setup 2/2
Урок 261.00:08:46
Signing Users Up
Урок 262.00:06:17
Logging Users In
Урок 263.00:08:52
Showing Different Screens Based On The Authentication State
Урок 264.00:02:43
Adding a Splash Screen (Loading Screen)
Урок 265.00:04:26
Adding User Logout
Урок 266.00:04:44
Image Upload: Setup & First Steps
Урок 267.00:04:05
Adding a User Image Picker Widget
Урок 268.00:07:38
Using the ImagePicker Package
Урок 269.00:05:07
Managing The Selected Image In The Authentication Form
Урок 270.00:06:52
Uploading Images To Firebase
Урок 271.00:03:06
Showing a Loading Spinner Whilst Uploading
Урок 272.00:04:44
Adding a Remote Database: Firestore Setup
Урок 273.00:07:27
Sending Data to Firestore
Урок 274.00:04:47
Storing a Username
Урок 275.00:10:14
Adding ChatMessages & Input Widgets
Урок 276.00:10:57
Sending & Reading Data To & From Firestore
Урок 277.00:08:17
Loading & Displaying Chat Messages as a Stream
Урок 278.00:12:01
Styling Chat Message Bubbles
Урок 279.00:09:21
Push Notifications - Setup & First Steps
Урок 280.00:06:17
Requesting Permissions & Getting an Address Token
Урок 281.00:05:27
Testing Push Notifications
Урок 282.00:02:43
Working with Notification Topics
Урок 283.00:11:48
Sending Push Notifications Automatically via Cloud Functions
Урок 284.00:01:12
Module Summary
Урок 285.00:06:12
About the Course Update & How To Proceed
Урок 286.00:00:58
Course Roundup
Если да,то всё нашлось