Содержание курса
1. Введение
5 уроков
7 255
7 255
22м
68
Открытый
1.1
Что такое Flutter?
↗
3 168
3 168
3м 59с
26
Открытый
1.2
Установка Flutter и Android Studio (Windows)
↗
1 934
1 934
7м 14с
15
Закрытый
1.3
Установка Android Emulator (Windows)
↗
712
712
7м 26с
8
Закрытый
1.4
Установка VS Code (Windows)
↗
689
689
4м 18с
8
Закрытый
1.5
Ссылки для курса, ДЗ, обсуждения
↗
752
752
0м 4с
11
2. Основы
12 уроков
8 248
7 630
69м
212
Закрытый
2.1
Обзор папок во Flutter приложении
↗
800
800
5м 0с
12
Закрытый
2.2
Hot reload и Hot restart
↗
740
740
5м 44с
11
Закрытый
2.3
Введение в виджеты (Widgets)
↗
744
674
10м 51с
26
Закрытый
2.4
ДЗ по лекции "Введение в виджеты"
↗
704
632
1м 42с
22
Закрытый
2.5
MaterialApp
↗
718
662
3м 14с
24
Закрытый
2.6
Scaffold
↗
701
641
7м 1с
15
Закрытый
2.7
Типы виджетов
↗
686
686
2м 26с
18
Закрытый
2.8
Stateless Widget и его жизненный цикл
↗
685
611
14м 32с
15
Закрытый
2.9
Stateful Widget и его жизненный цикл
↗
655
565
12м 38с
23
Закрытый
2.10
Работа с Asset и Image
↗
621
553
5м 10с
12
Закрытый
2.11
Работа с Asset и Font
↗
592
539
5м 44с
10
Закрытый
2.12
ДЗ по блоку "Основы"
↗
602
527
1м 54с
24
3. Основы компоновки UI
12 уроков
6 672
6 517
66м
164
Закрытый
3.1
Введение
↗
598
598
1м 11с
11
Закрытый
3.2
Padding
↗
591
591
2м 24с
9
Закрытый
3.3
Align и Center
↗
579
579
3м 36с
9
Закрытый
3.4
Container
↗
576
576
4м 36с
8
Закрытый
3.5
Row и Column
↗
574
574
6м 21с
14
Закрытый
3.6
Expanded
↗
580
580
4м 7с
11
Закрытый
3.7
Stack
↗
572
572
3м 38с
10
Закрытый
3.8
Практика. Компоновка интерфейса
↗
581
488
25м 37с
27
Закрытый
3.9
Статический ListView
↗
533
517
8м 20с
21
Закрытый
3.10
Динамический ListView
↗
514
503
4м 39с
15
Закрытый
3.11
Динамический ListView. Отображение заголовка
↗
507
480
6м 56с
9
Закрытый
3.12
ДЗ по блоку "Основы компоновки UI"
↗
467
459
0м 23с
20
4. Работа с Null Safety (Dart)
10 уроков
4 384
4 235
68м
85
Закрытый
4.1
Что такое Null Safety?
↗
512
493
3м 35с
12
Закрытый
4.2
Основные принципы Null Safety
↗
478
457
6м 49с
14
Закрытый
4.3
Иерархия типов
↗
461
450
4м 56с
9
Закрытый
4.4
Flow Analysis: Promotion & Definite Assignment
↗
455
444
6м 48с
10
Закрытый
4.5
Null-aware операторы
↗
441
427
7м 34с
8
Закрытый
4.6
Каскадный null-aware оператор
↗
423
416
1м 17с
7
Закрытый
4.7
Модификатор late
↗
426
412
9м 13с
10
Закрытый
4.8
Работа с коллекциями
↗
413
400
11м 16с
5
Закрытый
4.9
Работа с параметрами класса
↗
398
380
10м 22с
5
Закрытый
4.10
Миграция на Null Safety
↗
377
356
11м 59с
5
5. Навигация и передача данных
6 уроков
2 747
2 638
23м
52
Закрытый
5.1
Простая навигация
↗
497
485
5м 14с
11
Закрытый
5.2
Навигация по имени
↗
482
467
3м 59с
9
Закрытый
5.3
Простая передача данных между экранами
↗
471
447
4м 44с
9
Закрытый
5.4
Передача данных при навигации по имени
↗
446
425
3м 19с
10
Закрытый
5.5
Передача данных с onGenerateRoute
↗
435
408
3м 58с
5
Закрытый
5.6
Передача данных на предыдущий экран
↗
416
406
5м 35с
8
6. Взаимодействие с пользователем
14 уроков
5 137
4 888
86м
91
Закрытый
6.1
Form
↗
446
439
4м 57с
9
Закрытый
6.2
TextField и TextFormField
↗
426
403
5м 17с
9
Закрытый
6.3
Стилизация полей ввода
↗
406
388
12м 9с
8
Закрытый
6.4
Ограничение ввода в поля формы
↗
394
381
6м 41с
6
Закрытый
6.5
Получение текста из полей формы
↗
391
373
5м 6с
6
Закрытый
6.6
Валидация полей формы
↗
382
356
17м 1с
5
Закрытый
6.7
Выпадающий список
↗
364
338
6м 53с
6
Закрытый
6.8
"Фокусировка" полей ввода
↗
340
323
6м 50с
7
Закрытый
6.9
SnackBar
↗
346
320
4м 45с
5
Закрытый
6.10
AlertDialog
↗
337
322
5м 42с
5
Закрытый
6.11
Использование жестов
↗
340
321
3м 51с
6
Закрытый
6.12
Отправка формы
↗
338
318
12м 25с
9
Закрытый
6.13
Исходный код
↗
313
313
0м 3с
3
Закрытый
6.14
ДЗ по работе с виджетом Form
↗
314
293
1м 58с
7
7. Пакеты и зависимости
3 урока
986
960
11м
22
Закрытый
7.1
Пакеты и зависимости
↗
344
341
5м 28с
7
Закрытый
7.2
Управление версиями пакетов
↗
324
316
3м 1с
6
Закрытый
7.3
Неопубликованные пакеты
↗
318
303
3м 32с
9
8. Работа с сетью
5 уроков
1 809
1 714
39м
40
Закрытый
8.1
Работа с HTTP
↗
403
374
8м 42с
9
Закрытый
8.2
Введение в JSON
↗
370
355
2м 41с
5
Закрытый
8.3
Ручная сериализация JSON. Создание модели
↗
361
340
11м 15с
6
Закрытый
8.4
Ручная сериализация JSON. Отображение данных
↗
336
320
8м 2с
8
Закрытый
8.5
Авто генерируемая сериализация JSON
↗
339
325
10м 19с
12
9. Управление состоянием
7 уроков
2 408
2 288
50м
41
Закрытый
9.1
Типы состояний. Введение
↗
378
366
3м 54с
9
Закрытый
9.2
Vanilla (setState())
↗
368
354
4м 26с
5
Закрытый
9.3
InheritedWidget
↗
364
340
10м 56с
-1
Закрытый
9.4
ScopedModel
↗
336
316
8м 17с
7
Закрытый
9.5
Provider. Теория
↗
353
333
6м 4с
10
Закрытый
9.6
Provider. Практика
↗
340
315
17м 26с
2
Закрытый
9.7
ДЗ по Provider
↗
269
264
1м 46с
9
10. Хранение данных на устройстве
3 урока
858
790
62м
10
Закрытый
10.1
Работа с файлами (Чтение/Запись)
↗
295
279
13м 57с
0
Закрытый
10.2
Плагин shared_preferences
↗
277
253
13м 39с
5
Закрытый
10.3
Работа с SQLite
↗
286
258
37м 43с
5
11. Практика. Погодное приложение
12 уроков
3 007
2 541
108м
55
Закрытый
11.1
ОБЯЗАТЕЛЬНО к прочтению!
↗
391
391
0м 29с
10
Открытый
11.2
Введение
↗
656
394
6м 27с
4
Закрытый
11.3
Создание модели
↗
260
236
5м 43с
4
Закрытый
11.4
Реализация запроса и отображение данных
↗
233
206
20м 30с
5
Закрытый
11.5
Отображение города и даты
↗
205
176
9м 9с
5
Закрытый
11.6
Отображение температуры
↗
181
166
7м 28с
4
Закрытый
11.7
Отображение давления, осадков и ветра
↗
166
149
9м 3с
3
Закрытый
11.8
Отображение прогноза погоды за неделю
↗
163
150
14м 23с
4
Закрытый
11.9
Получение погоды по названию любого города
↗
172
154
11м 25с
4
Закрытый
11.10
Получение погоды по геолокации устройства
↗
185
156
16м 46с
6
Закрытый
11.11
Исправление ошибок
↗
182
150
9м 18с
4
Закрытый
11.12
Исходный код к приложению "Прогноз погоды"
↗
213
213
0м 5с
2
12. BLoC
5 уроков
1 483
1 385
94м
52
Закрытый
12.1
BLoC. Теория
↗
353
331
4м 17с
9
Закрытый
12.2
BLoC на потоках (Stream)
↗
325
295
20м 33с
17
Закрытый
12.3
BLoC (flutter_bloc 8.0)
↗
294
284
14м 55с
9
Закрытый
12.4
Flutter BLoC 8.0. Работа с сетью
↗
271
254
46м 44с
12
Закрытый
12.5
Flutter Cubit 8.0. Работа с сетью
↗
240
221
11м 50с
5
13. Чистая Архитектура (The Clean Architecture)
20 уроков
5 292
4 137
228м
98
Открытый
13.1
Что будем проектировать?
↗
616
377
2м 4с
5
Открытый
13.2
Чистая Архитектура. Введение.
↗
622
349
12м 32с
13
Закрытый
13.3
Структура приложения
↗
290
232
9м 17с
7
Закрытый
13.4
Уровень домена: Entity и Equatable
↗
267
231
8м 6с
3
Закрытый
13.5
Уровень домена: Repository
↗
260
233
7м 32с
5
Закрытый
13.6
Уровень домена: UseCases
↗
253
213
11м 40с
3
Закрытый
13.7
Уровень данных: Обзор
↗
240
219
2м 5с
4
Закрытый
13.8
Уровень данных: Models
↗
242
210
7м 59с
4
Закрытый
13.9
Уровень данных: Remote data source
↗
223
195
13м 42с
4
Закрытый
13.10
Уровень данных: Local data source
↗
225
201
10м 33с
5
Закрытый
13.11
Уровень данных: Repository
↗
226
201
12м 11с
7
Закрытый
13.12
Уровень представления: Обзор
↗
221
196
2м 21с
5
Закрытый
13.13
Уровень представления: BLoC
↗
227
198
11м 29с
-2
Закрытый
13.14
Уровень представления: Cubit
↗
216
180
12м 8с
3
Закрытый
13.15
Внедрение зависимостей (Dependency Injection)
↗
221
192
18м 46с
8
Закрытый
13.16
Уровень представления: Отображение списка персонажей
↗
216
166
35м 27с
5
Закрытый
13.17
Уровень представления: Детальная информация о персонаже
↗
178
127
18м 33с
5
Закрытый
13.18
Уровень представления: Поиск персонажа
↗
178
136
23м 21с
4
Закрытый
13.19
Заключение, ДЗ и исходный код
↗
202
153
4м 9с
6
Закрытый
13.20
Миграция приложения на Null Safety
↗
169
128
12м 39с
4
14. Работа с Веб-страницами
6 уроков
636
597
68м
14
Закрытый
14.1
Работа с WebView
↗
172
149
8м 10с
2
Закрытый
14.2
Управление веб-страницами в WebView
↗
108
106
21м 26с
2
Закрытый
14.3
Отслеживание изменений в WebView
↗
89
86
7м 10с
2
Закрытый
14.4
Внедрение Javascript в WebView
↗
87
85
14м 32с
2
Закрытый
14.5
Работа с локальными Веб-страницами, CSS и JS
↗
81
81
11м 25с
3
Закрытый
14.6
Обмен данными между WebView и Flutter
↗
99
90
7м 42с
3
15. Генерация кода
3 урока
486
425
112м
16
Закрытый
15.1
Работа с пакетом Freezed
↗
188
164
23м 28с
7
Закрытый
15.2
Работа с BLoC и Freezed
↗
143
123
17м 23с
5
Закрытый
15.3
Приложение "Rick and Morty. Найди персонажа"
↗
155
138
72м 37с
4
16. Ключи
8 уроков
932
874
71м
11
Закрытый
16.1
Widget, Element, Render Object
↗
162
147
20м 50с
2
Закрытый
16.2
Ключи. Введение
↗
131
123
3м 26с
2
Закрытый
16.3
UniqueKey
↗
122
111
6м 3с
2
Закрытый
16.4
ValueKey
↗
110
102
14м 46с
1
Закрытый
16.5
ObjectKey
↗
102
98
7м 53с
1
Закрытый
16.6
PageStorageKey
↗
102
95
7м 9с
2
Закрытый
16.7
GlobalKey
↗
101
96
14м 42с
1
Закрытый
16.8
Краткие итоги по ключам
↗
102
102
0м 1с
0
17. Основы тестирования
6 уроков
615
449
129м
20
Закрытый
17.1
Введение
↗
137
110
4м 16с
5
Закрытый
17.2
Основы Unit тестирования
↗
129
93
23м 47с
6
Закрытый
17.3
Основы Widget тестирования
↗
105
70
30м 44с
2
Закрытый
17.4
Основы Integration тестирования
↗
83
69
14м 48с
3
Закрытый
17.5
Основы работы с Mocktail
↗
84
58
28м 28с
2
Закрытый
17.6
Основы TDD (test-driven development)
↗
77
49
30м 0с
2
18. Riverpod
13 уроков
1 308
984
97м
40
Закрытый
18.1
Введение. Provider & StateProvider
↗
179
107
19м 4с
4
Закрытый
18.2
StateNotifierProvider
↗
120
99
10м 34с
3
Закрытый
18.3
Домашнее задание
↗
111
111
1м 32с
1
Закрытый
18.4
Методы listen() и select()
↗
104
83
8м 7с
5
Закрытый
18.5
ChangeNotifierProvider
↗
94
71
6м 39с
3
Закрытый
18.6
FutureProvider
↗
94
72
10м 45с
4
Закрытый
18.7
ProviderRef. Объединение состояний провайдеров.
↗
92
69
4м 21с
1
Закрытый
18.8
StreamProvider
↗
91
67
4м 9с
3
Закрытый
18.9
Модификаторы
↗
80
66
9м 36с
3
Закрытый
18.10
Жизненный цикл провайдера
↗
82
62
7м 48с
2
Закрытый
18.11
ProviderObserver. Мониторинг состояний провайдера
↗
80
60
4м 3с
3
Закрытый
18.12
Краткие итоги
↗
94
63
2м 48с
4
Закрытый
18.13
Автоматическая генерация провайдеров
↗
87
54
14м 23с
4
19. Анимация
5 уроков
607
492
37м
13
Закрытый
19.1
AnimationController и Animation
↗
171
145
14м 37с
6
Закрытый
19.2
Контроль за ходом анимации
↗
120
86
5м 7с
2
Закрытый
19.3
Анимация на основе кривых (Curves)
↗
103
85
3м 28с
1
Закрытый
19.4
Одновременная анимация
↗
98
82
6м 24с
1
Закрытый
19.5
Поэтапная анимация
↗
115
94
9м 37с
3
20. Общий модуль по видео Flutter
1 урок
529
157
10м
3
Открытый
20.1
Создание расширения для Google Chrome
↗
529
157
10м 11с
3