Программа «Разработка кроссплатформенных мобильных приложений на Flutter» включает 144 урока (256 академических часов).
Курс охватывает всё — от изучения языка Dart и построения пользовательских интерфейсов до работы с сетью, локальными БД, архитектурой и сборки приложений под Android и iOS.
Слушатели последовательно освоят язык Dart, виджеты и навигацию во Flutter, интеграцию с REST API, локальное хранение данных, архитектурные паттерны (BLoC, Provider/Riverpod), тестирование и публикацию приложений в Google Play и App Store.
Востребованность — в IT-компаниях, стартапах, финтехе, медтехе, e-commerce и продуктах с мобильным first-подходом.
Технологический стек программы
Flutter
Provider / Riverpod
HTTP / Dio
JSON
SQLite / sqflite
Hive
get_it (DI)
Android / iOS build
Unit / Widget / Integration Tests
Обучение проходит в групповом формате по установленному расписанию.
Документ об окончании
Официальный документ об окончании программы ДПО
Подтверждает квалификацию «Программист»
с освоением компетенций по разработке кроссплатформенных мобильных приложений на Flutter
Соответствует профстандарту 06.035 и требованиям ФГОС
Качество и соответствие
Стоимость и оплата
Оплату можно разделить на 4 этапа в течение обучения. Все платежи осуществляются напрямую в адрес образовательной организации — без процентов и скрытых комиссий.
Содержание
- 4 модуля
- 144 уроков
- 256 часов
- Модуль 1. Программирование на языке Dart36
- 1.1Введение в Dart: история, особенности, применение во Flutter
- 1.2Практическая работа №1. Установка Dart SDK и запуск первой программы
- 1.3Типы данных: int, double, bool, String
- 1.4Практическая работа №2. Работа с переменными и константами
- 1.5Операторы и выражения
- 1.6Практическая работа №3. Построение логических и арифметических выражений
- 1.7Условные конструкции: if-else, switch
- 1.8Практическая работа №4. Написание ветвящихся алгоритмов
- 1.9Циклы: for, while, do-while
- 1.10Практическая работа №5. Обработка списков с помощью циклов
- 1.11Функции: объявление, параметры, возврат
- 1.12Практическая работа №6. Создание и вызов пользовательских функций
- 1.13Область видимости и замыкания
- 1.14Практическая работа №7. Использование лексического окружения
- 1.15Коллекции: List, Set, Map
- 1.16Практическая работа №8. Операции над структурами данных
- 1.17Работа со строками и регулярными выражениями
- 1.18Практическая работа №9. Валидация email и телефонов через RegExp
- 1.19Null safety: понятие и применение
- 1.20Практическая работа №10. Обработка nullable-значений безопасно
- 1.21Классы и объекты
- 1.22Практическая работа №11. Создание простого класса с полями и методами
- 1.23Конструкторы, именованные и именованные параметры
- 1.24Практическая работа №12. Инициализация объектов разными способами
- 1.25Наследование и полиморфизм
- 1.26Практическая работа №13. Построение иерархии классов
- 1.27Абстрактные классы и интерфейсы
- 1.28Практическая работа №14. Реализация общего поведения
- 1.29Mixins
- 1.30Практическая работа №15. Композиция функциональности через mixin
- 1.31Generics
- 1.32Практическая работа №16. Создание типобезопасных коллекций и классов
- 1.33Асинхронность: Future, async/await
- 1.34Практическая работа №17. Моделирование задержки и обработка результата
- 1.35Streams и работа с событиями
- 1.36Практическая работа №18. Создание и прослушивание потока данных
- Модуль 2. Интерфейсы и навигация во Flutter36
- 2.1Архитектура Flutter: Widget-Tree, Render-Tree
- 2.2Практическая работа №1. Создание первого Flutter-приложения
- 2.3StatelessWidget и StatefulWidget
- 2.4Практическая работа №2. Разработка статических и динамических экранов
- 2.5Основные виджеты: Text, Container, Row, Column
- 2.6Практическая работа №3. Сборка простого UI
- 2.7Работа с отступами, выравниванием и размерами
- 2.8Практическая работа №4. Верстка карточки товара
- 2.9Работа с изображениями и иконками
- 2.10Практическая работа №5. Отображение локальных и сетевых изображений
- 2.11Ввод данных: TextField, InputDecoration
- 2.12Практическая работа №6. Форма регистрации пользователя
- 2.13Кнопки и интерактивность: ElevatedButton, GestureDetector
- 2.14Практическая работа №7. Обработка нажатий и изменение состояния
- 2.15Списки: ListView, itemBuilder
- 2.16Практическая работа №8. Отображение списка контактов
- 2.17Сетки: GridView
- 2.18Практическая работа №9. Галерея изображений в сетке
- 2.19Диалоги и всплывающие уведомления
- 2.20Практическая работа №10. Показ AlertDialog и SnackBar
- 2.21Навигация: Navigator 1.0 и 2.0
- 2.22Практическая работа №11. Переход между экранами
- 2.23Передача данных между экранами
- 2.24Практическая работа №12. Открытие детального экрана с параметром
- 2.25BottomNavigationBar и AppBar
- 2.26Практическая работа №13. Создание многоразделового интерфейса
- 2.27Анимации: Implicit и Explicit
- 2.28Практическая работа №14. Добавление плавных переходов
- 2.29Темизация: ThemeData, кастомные цвета и шрифты
- 2.30Практическая работа №15. Реализация светлой и тёмной темы
- 2.31Адаптивный и респонсивный дизайн
- 2.32Практическая работа №16. Один интерфейс для телефона и планшета
- 2.33Локализация приложения
- 2.34Практическая работа №17. Поддержка русского и английского языков
- 2.35Использование пакетов из pub.dev
- 2.36Практическая работа №18. Добавление и настройка внешнего виджета
- Модуль 3. Работа с сетевыми запросами и хранением данных36
- 3.1Архитектура клиент-сервер: REST, HTTP-методы
- 3.2Практическая работа №1. Отправка GET-запроса к JSONPlaceholder
- 3.3Пакет http: выполнение запросов
- 3.4Практическая работа №2. Получение списка постов и отображение в ListView
- 3.5Обработка ошибок при работе с сетью
- 3.6Практическая работа №3. Обработка отсутствия интернета и статусов 404/500
- 3.7Работа с JSON: сериализация и десериализация
- 3.8Практическая работа №4. Преобразование JSON в Dart-объекты (без codegen)
- 3.9Использование dio
- 3.10Практическая работа №5. Настройка интерцепторов и повторных попыток
- 3.11Кэширование сетевых данных
- 3.12Практическая работа №6. Сохранение ответа на короткое время
- 3.13Введение в локальное хранение данных
- 3.14Практическая работа №7. Сохранение настроек через SharedPreferences
- 3.15Работа с Hive: NoSQL-хранилище
- 3.16Практическая работа №8. Хранение списка задач в Hive
- 3.17Работа с SQLite через sqflite
- 3.18Практическая работа №9. Создание локальной базы данных
- 3.19DAO-паттерн для работы с БД
- 3.20Практическая работа №10. Реализация слоя доступа к данным
- 3.21Миграции в SQLite
- 3.22Практическая работа №11. Обновление схемы базы данных
- 3.23Изоляция данных: безопасное хранение токенов
- 3.24Практическая работа №12. Использование flutter_secure_storage
- 3.25Background fetch и фоновые задачи
- 3.26Практическая работа №13. Планирование локальной синхронизации
- 3.27Работа с файловой системой устройства
- 3.28Практическая работа №14. Сохранение изображения в документы
- 3.29Взаимодействие с камерой и галереей
- 3.30Практическая работа №15. Выбор фото и отображение в приложении
- 3.31Геолокация
- 3.32Практическая работа №16. Получение координат через geolocator
- 3.33Push-уведомления
- 3.34Практическая работа №17. Планирование и показ уведомлений без FCM
- 3.35Оффлайн-режим: синхронизация при восстановлении сети
- 3.36Практическая работа №18. Буферизация изменений и отправка при подключении
- Модуль 4. Архитектура, тестирование и публикация мобильных приложений36
- 4.1Принципы чистой архитектуры (Clean Architecture)
- 4.2Практическая работа №1. Разделение проекта на layers (data, domain, presentation)
- 4.3Паттерн MVVM и его реализация во Flutter
- 4.4Практическая работа №2. Выделение ViewModel с помощью ChangeNotifier
- 4.5Управление состоянием: Provider
- 4.6Практическая работа №3. Передача состояния через дерево виджетов
- 4.7Альтернативы: Riverpod
- 4.8Практическая работа №4. Рефакторинг на Riverpod
- 4.9Репозиторий как абстракция над источниками данных
- 4.10Практическая работа №5. Единая точка доступа к данным
- 4.11UseCase / Interactor
- 4.12Практическая работа №6. Изоляция бизнес-логики
- 4.13Dependency Injection: get_it
- 4.14Практическая работа №7. Настройка контейнера зависимостей
- 4.15Unit-тестирование: логика без UI
- 4.16Практическая работа №8. Написание тестов для UseCase
- 4.17Widget-тестирование
- 4.18Практическая работа №9. Проверка отображения и взаимодействия
- 4.19Интеграционное тестирование
- 4.20Практическая работа №10. Тестирование полного сценария
- 4.21Мокирование зависимостей: mockito
- 4.22Практическая работа №11. Замена репозитория на мок
- 4.23Логирование и отладка
- 4.24Практическая работа №12. Использование print, logger и DevTools
- 4.25Профилирование: производительность и память
- 4.26Практическая работа №13. Анализ FPS и утечек памяти
- 4.27Сборка для Android: генерация подписи, сборка APKие и Git-workflow
- 4.28Практическая работа №14. Создание релизной версии без Google
- 4.29Сборка для iOS: подготовка Runner, Xcode
- 4.30Практическая работа №15. Сборка IPA для тестирования на устройстве
- 4.31Версионирование и публикация
- 4.32Практическая работа №16. Формирование changelog и релиза
- 4.33Подготовка к публикации: иконки, splash screen, permissions
- 4.34Практическая работа №17. Настройка манифестов и метаданных
- 4.35Интеграция компонентов: локальное хранилище, сетевые запросы и UI в едином приложенииржка версий приложения
- 4.36Практическая работа №18. Реализация сквозного сценария: от загрузки данных до офлайн-доступа и сохранения состояния
Требования
- Уверенное владение компьютером – установка программ, работа с файлами и браузером
- Стабильный доступ к интернету
- Опыт в программировании не обязателен – обучение начинается с основ языка, используемого в программе
Особенности
- Овладеете ключевыми инструментами и технологиями направления
- Научитесь применять знания на практике – от базовых понятий до сложных кейсов
- Освоите реальные рабочие инструменты и подходы, используемые в индустрии
- Выполните итоговой проект, отражающий ваши профессиональные навыки
Целевая аудитория
- Программисты и специалисты, осваивающие новое направление
- Новички и студенты, желающие начать карьеру в IT
- Системные администраторы, тестировщики и аналитики, расширяющие компетенции
- Все, кто хочет получить прикладные навыки и документ установленного образца

