Содержание пакета (2 курса)
1. Основы разработки на Dart: падаван
Библиотеки, пакеты и тестирование
6 уроков
1.
Создание и импортирование библиотек
↗
2.
Создание пакета и его подключение к проекту
↗
3.
Тесты и задачи на импортирование библиотек
↗
4.
Разбор задач на импортирование библиотек
↗
5.
Тестирование функций
↗
6.
Тестирование классов
↗
Проект: Игра «Tetris» v.0
2 урока
1.
Разработка игры
↗
2.
Задания на самостоятельную проработку
↗
Абстракция, наследование, полиморфизм и модификаторы класса
13 уроков
1.
Абстракция в ООП
↗
2.
Наследование и переопределение методов
↗
3.
Разбор задач на наследование и переопределение
↗
4.
Абстрактный класс, интерфейс и Private field promotion
↗
5.
Модификаторы класса
↗
6.
Методы Расширения (Extension Methods)
↗
7.
Разбор задач на методы расширения
↗
8.
Extension Types (Расширение типа)
↗
9.
Generics (Обобщения)
↗
10.
Callable objects
↗
11.
Wildcards. Освобождение от оков имен аргументов
↗
12.
Задачи на ООП
↗
13.
Разбор задач на ООП
↗
Проект: Игра «Крестики-Нолики» v.2
2 урока
1.
Рефакторинг игры
↗
2.
Задания на самостоятельную проработку
↗
Разбираемся с замыканиями и рекурсией
6 уроков
1.
Что такое замыкание и с чем его едят?
↗
2.
Задачи на замыкания
↗
3.
Разбор задач на замыкания
↗
4.
Рекурсируем рекурсию
↗
5.
Задачи на рекурсию
↗
6.
Разбор задач на рекурсию
↗
Проект: Игра «Tetris» v.1
2 урока
1.
Рефакторинг игры
↗
2.
Задания на самостоятельную проработку
↗
Введение в асинхронное программирование и изоляты
11 уроков
1.
Event Loop архитектура в Dart
↗
2.
Future API, async и await
↗
3.
Разбор задач на Future
↗
4.
Интерактивные задачи и тесты
↗
5.
Еще один разбор задач на Future
↗
6.
Stream
↗
7.
Задачи на Stream
↗
8.
Разбор задач по Stream
↗
9.
Знакомимся с изолятами
↗
10.
Async или Isolate?
↗
11.
Зоны (Zones)
↗
Работа с файлами
11 уроков
1.
Работа с файлами и директориями
↗
2.
База данных на основе файла и однонаправленного списка
↗
3.
Задачи на работу с файлами в синхронном режиме
↗
4.
Разбор задач по работе с файлами (синх. режим)
↗
5.
Задачи на работу с файлами в асинхронном режиме
↗
6.
Разбор задач по работе с файлами (асинх. режим)
↗
7.
Работа с JSON-файлами
↗
8.
Простая БД по типу «ключ:значение» в формате JSON
↗
9.
Задачи на работу с JSON
↗
10.
Разбор задач на JSON
↗
11.
Конфигурация приложения через .env-файл
↗
Проект: Игра «Крестики-Нолики» v.3
2 урока
1.
Добавление новой функциональности
↗
2.
Задания на самостоятельную проработку
↗
Проект: Игра «Крестики-Нолики» v.4. Игра с компьютером
7 уроков
1.
Введение
↗
2.
Выделение функционала доски в каталог board
↗
3.
Рефакторинг функционала игрока
↗
4.
Сохранение и загрузка игровой сессии
↗
5.
Рефакторим класс Game
↗
6.
Завершаем рефакторинг и запускаем приложение
↗
7.
Задание на доработку проекта
↗
Проект: Игра «Tetris» v.2 final version
2 урока
1.
Добавление новой функциональности
↗
2.
Задания на самостоятельную проработку
↗
Pattern Matching и Destructuring
7 уроков
1.
О чем вообще речь?
↗
2.
Деструктурирование списка
↗
3.
Деструктурирование записи
↗
4.
Деструктурирование таблицы/карты
↗
5.
Деструктурирование экземпляра класса
↗
6.
Задачи на деструктурирование
↗
7.
Разбор задач на деструктурирование
↗
Проект: Игра «Крестики-Нолики» v.5
3 урока
1.
Рефакторинг исходного проекта
↗
2.
Распараллеливание стратегий хода компьютера на высокой сложности
↗
3.
Задание на доработку проекта
↗
Продвинутые возможности управляющих конструкций
7 уроков
1.
Оператор if-case
↗
2.
Постигаем дзен switch-case
↗
3.
Null-aware elements
↗
4.
Задачи на Pattern Matching
↗
5.
Разбор задач на Pattern Matching
↗
6.
Дополнительные задачи на Pattern Matching
↗
7.
Разбор дополнительных задач на Pattern Matching
↗
Работа с СУБД SQLite
5 уроков
1.
Введение
↗
2.
Основы работы с sqflite
↗
3.
Приложение «Опаздашкинсы» на sqflite
↗
4.
Основы работы с Drift
↗
5.
«Опаздашкинсы» мигрируют с sqflite на Drif
↗
Проект: Игра «Крестики-Нолики» v.6
5 уроков
1.
Введение и рефакторинг каталога model
↗
2.
Проектирование слоя database
↗
3.
Рефакторинг класса Game
↗
4.
Переработка функционала главного меню пакета main
↗
5.
Задание на доработку проекта
↗
Разработка telegram-бота на Dart
3 урока
1.
Введение и основы работы с televerse
↗
2.
«Опаздашкинсы» переезжают в telegram
↗
3.
Задание на модификацию проекта
↗
Сетевое программирование
5 уроков
1.
Введение
↗
2.
Разработка пакета "protocol"
↗
3.
Клиент-серверное приложение на основе TCP
↗
4.
Передача данных между сервером и клиентом по протоколу UDP
↗
5.
HTTP-сервер и клиент
↗
Проект: Игра «Крестики-Нолики» final version
7 уроков
1.
Создание проекта и настройка pub workspaces
↗
2.
Разработка общего Dart-пакета для клиента и сервера
↗
3.
Разработка серверной части
↗
4.
Разработка клиентской части
↗
5.
Запуск сервера и клиента
↗
6.
Задания на самостоятельную проработку
↗
7.
Завершение
↗
Выпуск сертификата и благодарность
2 урока
1.
Благодарность
↗
2.
Выпуск сертификата
↗
2. Основы разработки на Dart: юнлинг 4.00
Краткая история, установка и встроенные типы данных Dart
19 уроков
1.
Краткая история, основные нюансы и установка Dart на Windows
↗
2.
Типы данных int, double, num и bool
↗
3.
Строковый тип данных - String
↗
4.
Задачи на строки
↗
5.
Разбор задач на строки
↗
6.
Списки (List)
↗
7.
Задачи на списки
↗
8.
Разбор задач на списки
↗
9.
Таблицы (Map)
↗
10.
Задачи по таблицам / картам
↗
11.
Разбор задач на таблицы
↗
12.
Множество (Set)
↗
13.
Задачи на множества
↗
14.
Разбор задач на множества
↗
15.
Записи (Records)
↗
16.
Модификаторы final, const, late
↗
17.
Поговорим про null
↗
18.
Тип данных dynamic vs Object
↗
19.
Ссылки на дополнительный материал
↗
Базовые управляющие конструкции Dart
13 уроков
1.
Оператор if-else и тернарный оператор
↗
2.
Разбор задач на if-else
↗
3.
Основные операторы Dart
↗
4.
Задачи на арифметические операции
↗
5.
Разбор задач на арифметические операции
↗
6.
Циклы и ключевые слова break, continue, return
↗
7.
Задачи на циклы
↗
8.
Разбор задач на циклы
↗
9.
Оператор выбора switch
↗
10.
Задачи на управляющие конструкции
↗
11.
Разбор задач на управляющие конструкции
↗
12.
Отладка приложения средствами IDE
↗
13.
Ссылки на дополнительный материал
↗
Проект: Игра «Крестики-Нолики» v.0
2 урока
1.
Разработка игры
↗
2.
Задания на самостоятельную проработку
↗
Функции и абстракция
13 уроков
1.
Немного про абстракцию и функции
↗
2.
Объявление входных аргументов функции
↗
3.
Разбор задач на аргументы функции
↗
4.
Необязательные аргументы функции по умолчанию
↗
5.
Разбор задач на необязательные аргументы функции
↗
6.
Обращение к функции через переменную
↗
7.
Задачи на функции
↗
8.
Разбор задач на функции
↗
9.
Анонимные и стрелочные функции
↗
10.
Разбор задач на анонимные и стрелочные функции
↗
11.
Type Alias
↗
12.
Разбор задач на Type Alias
↗
13.
Ссылки на дополнительный материал
↗
Проект: Игра «Крестики-Нолики» v.1
1 урок
1.
Рефакторинг игры
↗
Знакомимся с классами
10 уроков
1.
Объявление класса
↗
2.
Типы конструкторов класса
↗
3.
Разбор задач на конструкторы
↗
4.
Статические переменные и методы класса
↗
5.
Разбор задач на статические переменные и методы класса
↗
6.
Задачи на классы
↗
7.
Разбор задач на классы
↗
8.
Перечисления
↗
9.
Static access shorthand
↗
10.
Ссылки на дополнительный материал
↗
Исключения и перегрузка операторов
8 уроков
1.
Перегрузка операторов
↗
2.
Разбор задач на перегрузку операторов
↗
3.
Конструкция try…catch…finally
↗
4.
Генерация исключений и ошибок
↗
5.
Пользовательские исключения и ошибки
↗
6.
Разбор задач на исключения
↗
7.
Assert (Утверждение)
↗
8.
Ссылки на дополнительный материал
↗
Проект: Игра «Крестики-Нолики» v.2
1 урок
1.
Рефакторинг игры
↗
Сборка и запуск приложения
3 урока
1.
Сборка приложения
↗
2.
Конфигурация запускаемого приложения
↗
3.
Ссылки на дополнительный материал
↗
Выпуск сертификата и благодарность
2 урока
1.
Благодарность
↗
2.
Выпуск сертификата
↗