IT Школа

Мобильная разработка на "Flutter"

Мобильная разработка на "Flutter"

Курс по Flutter — это практическое погружение в разработку мобильных приложений для iOS и Android одновременно, с использованием одного кода. Flutter — это современный фреймворк от Google, который позволяет создавать быстрые, красивые и отзывчивые приложения с нуля. Участники курса научатся работать с языком Dart, разрабатывать интерфейсы, взаимодействовать с базами данных и подключать сторонние сервисы. Всё обучение построено вокруг создания реального мобильного приложения.

Преподаватель: Кусембаев Рауан Даулетович

Продолжительность курса в академических часах

54 часа

Формат обучения

Оффлайн

Расписание

Понедельник, пятница 14:30 - 16:30

Старт занятий

28.03.2025

Формат занятий

Групповые занятия, живые лекции

Учебная программа курса по темам

Введение в Dart и Flutter (6 часов)

Час 1-2: Начало работы с Dart

  • Введение в язык программирования Dart
  • Настройка среды разработки (Dart SDK, IDE)
  • Базовый синтаксис, переменные, типы данных и операторы
  • Операторы управления потоком (if/else, циклы)

Час 3-4: Объектно-ориентированное программирование в Dart

  • Классы и объекты
  • Конструкторы и наследование
  • Интерфейсы, примеси (mixins) и абстрактные классы
  • Инкапсуляция и полиморфизм

Час 5-6: Основы Flutter

  • Введение во фреймворк Flutter
  • Настройка среды разработки Flutter
  • Понимание структуры проекта Flutter
  • Создание первого приложения на Flutter
  • Горячая перезагрузка (hot reload) и инструменты разработчика

Основы Flutter: виджеты и интерфейсы (9 часов)

Час 1-3: Понимание системы виджетов

  • Дерево виджетов и композиция
  • Stateless и Stateful виджеты
  • Обзор встроенных виджетов
  • Виджеты компоновки (Container, Row, Column)
  • Создание пользовательских виджетов

Час 4-6: UI-макеты и адаптивность

  • Создание сложных макетов
  • Работа с различными размерами экранов
  • Ограничения и размеры
  • Работа с MediaQuery
  • Реализация адаптивного дизайна

Час 7-9: Элементы взаимодействия с пользователем

  • Виджеты ввода (TextField, Checkbox, Radio)
  • Кнопки и детекторы жестов
  • Формы и валидация
  • Реализация прокручиваемых представлений
  • ListView и GridView

Навигация и управление состоянием (6 часов)

Час 1-2: Навигация во Flutter

  • Виджет Navigator
  • Маршруты и именованные маршруты
  • Передача данных между экранами
  • Шаблоны навигации и лучшие практики

Час 3-6: Управление состоянием

  • Понимание состояния приложения
  • Локальное и глобальное состояние
  • setState и поднятие состояния
  • Пакет Provider
  • Введение в паттерн BLoC
  • Сравнение систем управления состоянием (Provider, Riverpod, GetX)

Работа с сетью и API (6 часов)

Час 1-2: HTTP и RESTful сервисы

  • Концепции HTTP во Flutter
  • Использование пакета http
  • Выполнение запросов GET, POST
  • Обработка ответов API

Час 3-4: Сериализация JSON

  • Работа с данными JSON
  • Ручной парсинг JSON
  • Автоматическая сериализация с генерацией кода
  • Использование built_value и json_serializable

Час 5-6: Продвинутая интеграция API

  • Обработка аутентификации
  • Реализация обновления токенов
  • Обработка ошибок и механизмы повторных попыток
  • Реализация пагинации
  • WebSockets для коммуникации в реальном времени

Локальное хранение данных (6 часов)

Час 1-2: SharedPreferences и хранение файлов

  • Хранение простых данных ключ-значение
  • Работа с файловой системой устройства
  • Хранение и получение пользовательских настроек
  • Реализация настроек приложения

Час 3-4: База данных SQLite

  • Введение в SQLite во Flutter
  • Использование пакета sqflite
  • Создание таблиц базы данных
  • CRUD операции

Час 5-6: Продвинутое локальное хранение

  • NoSQL база данных Hive
  • Шифрование данных
  • Стратегии кэширования
  • Подход "сначала офлайн"
  • Синхронизация локальных и удаленных данных

Анимации и кастомизация UI (6 часов)

Час 1-2: Базовые анимации

  • Неявные анимации
  • Контроллеры анимации
  • Твины (Tweens) и кривые
  • Переходные анимации

Час 3-4: Пользовательские UI-компоненты

  • Создание пользовательских painters
  • Пользовательские clippers и формы
  • Продвинутые темы
  • Пользовательское поведение прокрутки

Час 5-6: Сложные шаблоны анимации

  • Hero-анимации
  • Ступенчатые анимации
  • Эффекты частиц
  • Анимации на основе физики
  • Интеграция Rive/Lottie анимаций

Работа с мультимедиа и устройствами (6 часов)

Час 1-2: Камера и обработка изображений

  • Доступ к камере устройства
  • Фотографирование и запись видео
  • Выбор изображений и доступ к галерее
  • Базовая обработка изображений

Час 3-4: Геолокация и карты

  • Получение местоположения пользователя
  • Использование Google Maps во Flutter
  • Создание пользовательских маркеров карты
  • Реализация функций на основе местоположения

Час 5-6: Датчики и функции устройства

  • Использование акселерометра и гироскопа
  • Доступ к контактам устройства
  • Работа с push-уведомлениями
  • Реализация биометрической аутентификации
  • Фоновая обработка

Интеграция с Native-кодом (3 часа)

Час 1: Platform Channels

  • Понимание platform channels
  • Method channels для вызова нативных методов
  • Event channels для непрерывной коммуникации

Час 2-3: Нативная интеграция

  • Добавление нативного кода Android (Java/Kotlin)
  • Добавление нативного кода iOS (Swift/Objective-C)
  • Интеграция сторонних нативных SDK
  • Основы разработки плагинов

Тестирование и отладка (3 часа)

Час 1: Тестирование виджетов

  • Модульное тестирование кода Dart
  • Основы тестирования виджетов
  • Тестирование взаимодействия с пользователем
  • Мокирование зависимостей

Час 2: Интеграционное тестирование

  • Настройка интеграционных тестов
  • Тестирование потоков приложения от начала до конца
  • Автоматизированное UI-тестирование

Час 3: Техники отладки

  • Использование Flutter DevTools
  • Профилирование производительности
  • Обнаружение утечек памяти
  • Распространенные проблемы и их решения

Публикация приложения (3 часа)

Час 1: Подготовка к релизу

  • Оптимизация размера приложения
  • Добавление иконок и сплэш-экранов
  • Настройка метаданных приложения
  • Создание релизных сборок

Час 2: Публикация на Android

  • Настройка Google Play Console
  • Подготовка Android App Bundle
  • Подписание и распространение приложения
  • Обработка обновлений версий

Час 3: Публикация на iOS

  • Настройка аккаунта Apple Developer
  • Конфигурация App Store Connect
  • Распространение через TestFlight
  • Процесс публикации в App Store
  • Управление отзывами и обновлениями приложения

Записаться на курс

 
Image
Региональный IT-HUB по области Жетысу "Jetisu Digital"