Giter Site home page Giter Site logo

anatoliy-t7 / learn_flutter Goto Github PK

View Code? Open in Web Editor NEW

This project forked from virer2013/learn_flutter

0.0 0.0 0.0 1.1 MB

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

JavaScript 0.02% C++ 37.71% C 2.36% Objective-C 0.10% Kotlin 0.45% Dart 22.28% CSS 0.01% Swift 2.11% HTML 5.40% CMake 29.58%

learn_flutter's Introduction

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)
  • Одновременная анимация
  • Поэтапная анимация

learn_flutter's People

Contributors

virer2013 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.