Skip to content

hariuc/Learn_Flutter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Learn_Flutter

Курс "Изучаем Flutter"

Площадка Stepik:

Площадка Udemy:

Содержание

Раздел 1: Введение

  • Что такое Flutter?
  • Установка Flutter и Android Studio (Windows)
  • Установка Android Emulator (Windows)
  • Установка VS Code (Windows)
  • Ссылки для курса, ДЗ, обсуждения

Раздел 2: Основы

  • Обзор папок во Flutter приложении
  • Hot reload и Hot restart
  • Введение в виджеты (Widgets)
  • ДЗ по лекции "Введение в виджеты"
  • MaterialApp
  • Scaffold
  • Типы виджетов
  • Stateless Widget и его жизненный цикл
  • Stateful Widget и его жизненный цикл
  • Работа с Asset и Image
  • Работа с Asset и Font
  • ДЗ по блоку "Основы"

Раздел 3: Основы компоновки UI

  • Введение
  • Padding
  • Align и Center
  • Container
  • Row и Column
  • Expanded
  • Stack
  • Практика. Компоновка интерфейса
  • Статический ListView
  • Динамический ListView
  • Динамический ListView. Отображение заголовка
  • ДЗ по блоку "Основы компоновки UI"

Раздел 4: Навигация и передача данных

  • Простая навигация
  • Навигация по имени
  • Простая передача данных между экранами
  • Передача данных при навигации по имени
  • Передача данных с onGenerateRoute
  • Передача данных с предыдущего экрана

Раздел 5: Взаимодействие с пользователем

  • Form
  • TextField и TextFormField
  • Стилизация полей ввода
  • Ограничение ввода в поля формы
  • Получение текста из полей формы
  • Валидация полей формы
  • Выпадающий список
  • "Фокусировка" полей ввода
  • SnackBar
  • AlertDialog
  • Использование жестов
  • Отправка формы
  • Исходный код
  • ДЗ по работе с виджетом Form

Раздел 6: Пакеты и зависимости

  • Пакеты и зависимости
  • Управление версиями пакетов
  • Неопубликованные пакеты

Раздел 7: Работа с сетью

  • Работа с HTTP
  • Введение в JSON
  • Ручная сериализация JSON. Создание модели
  • Ручная сериализация JSON. Отображение данных
  • Авто генерируемая сериализация JSON

Раздел 8: Управление состоянием

  • Типы состояний. Введение
  • Vanilla (setState())
  • InheritedWidget
  • ScopedModel
  • Provider. Теория
  • Provider. Практика
  • ДЗ по Provider

Раздел 9: Хранение данных на устройстве

  • Работа с файлом (Чтение/Запись)
  • Плагин shared_preferences
  • Работа с SQLite

Раздел 10: Практика. Погодное приложение

  • Введение
  • Создание модели
  • Реализация запроса и отображение данных
  • Отображение города и даты
  • Отображение температуры
  • Отображение давления, осадков и ветра
  • Отображение прогноза погоды за неделю
  • Получение погоды по названию любого города
  • Получение погоды по геолокации устройства
  • Исправление ошибок
  • Исходный код

Раздел 11: BLoC

  • BLoC. Теория
  • BLoC на потоках (Stream)
  • BLoC (flutter_bloc 8.0)
  • Flutter BLoC 8.0 Работа с сетью
  • Flutter Cubit 8.0

Раздел 12: Чистая Архитектура (The Clean Architecture)

  • Что будем проектировать?
  • Чистая Архитектура. Введение.
  • Структура приложения
  • Уровень домена: Entity и Equatable
  • Уровень домена: Repository
  • Уровень домена: UseCases
  • Уровень данных: Обзор
  • Уровень данных: Models
  • Уровень данных: Remote data source
  • Уровень данных: Local data source
  • Уровень данных: Repository
  • Уровень представления: Обзор
  • Уровень представления: BLoC
  • Уровень представления: Cubit
  • Внедрение зависимостей (Dependency Injection)
  • Уровень представления: Отображение списка персонажей
  • Уровень представления: Детальная информация о персонаже
  • Уровень представления: Поиск персонажа
  • Заключение и ДЗ
  • Миграция приложения на Null Safety

Раздел 13: Работа с Null Safety

  • Что такое Null Safety?
  • Основные принципы Null Safety
  • Иерархия типов
  • Flow Analysis: Promotion & Definite Assignment
  • Null-aware операторы
  • Каскадный null-aware оператор
  • Модификатор late
  • Работа с коллекциями
  • Работа с параметрами класса
  • Миграция на Null Safety

Раздел 14: Работа с Веб-страницами

  • Работа с WebView
  • Управление веб-страницами в WebView
  • Отслеживание изменений в WebView
  • Внедрение Javascript в WebView
  • Работа с локальными Веб-страницами, CSS и JS
  • Обмен данными между WebView и Flutter

Раздел 15: Генерация кода

  • Работа с пакетом Freezed
  • Работа с BLoC и Freezed
  • Приложение "Rick and Morty. Найди персонажа"

Раздел 16: Ключи

  • Widget, Element, Render Object
  • Ключи. Введение
  • UniqueKey
  • ValueKey
  • ObjectKey
  • PageStorageKey
  • GlobalKey
  • Краткие итоги по ключам (текст)

Раздел 17: Основы тестирования

  • Введение
  • Основы Unit тестирвоания
  • Основы Widget тестирвоания
  • Основы Integration тестирвоания
  • Основы работы с Mocktail
  • Основы TDD (test-driven development)

Раздел 18: Анимация (Раздел в разработке)

  • Введение. Пользовательская анимация
  • AnimationController и Animation
  • Контроль за ходом анимации
  • Анимация на основе кривых (Curves)
  • Одновременная анимация
  • Поэтапная анимация

About

Курс "Изучаем Flutter"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 37.7%
  • CMake 29.5%
  • Dart 22.4%
  • HTML 5.4%
  • C 2.4%
  • Swift 2.1%
  • Other 0.5%