Программа «Разработка кроссплатформенных мобильных приложений на Flutter» включает 144 урока (256 академических часов).
Курс охватывает всё — от изучения языка Dart и построения пользовательских интерфейсов до работы с сетью, локальными БД, архитектурой и сборки приложений под Android и iOS.
Выпускники программы могут занимать позиции Flutter Developer, Mobile Developer, Cross-platform Developer, Android/iOS Developer.
Востребованность — в IT-компаниях, стартапах, финтехе, медтехе, e-commerce и продуктах с мобильным first-подходом.
Востребованность — в IT-компаниях, стартапах, финтехе, медтехе, e-commerce и продуктах с мобильным first-подходом.
Технологический стек программы
Dart
Flutter
Provider / Riverpod
HTTP / Dio
JSON
SQLite / sqflite
Hive
get_it (DI)
Android / iOS build
Unit / Widget / Integration Tests
Flutter
Provider / Riverpod
HTTP / Dio
JSON
SQLite / sqflite
Hive
get_it (DI)
Android / iOS build
Unit / Widget / Integration Tests
Программа реализуется Центром индивидуального обучения Центра 25-12.
Обучение проводится в формате 1-на-1 с преподавателем по индивидуальному расписанию.
Обучение проводится в формате 1-на-1 с преподавателем по индивидуальному расписанию.
Документ об окончании
Диплом о профессиональной переподготовке
✓
Официальный документ об окончании программы ДПО
Официальный документ об окончании программы ДПО
✓
Подтверждает квалификацию «Программист»
с освоением компетенций по разработке кроссплатформенных мобильных приложений на Flutter
Подтверждает квалификацию «Программист»
с освоением компетенций по разработке кроссплатформенных мобильных приложений на Flutter
✓
Соответствует профстандарту 06.035 и требованиям ФГОС
Соответствует профстандарту 06.035 и требованиям ФГОС
Качество и соответствие
Программа соответствует профстандарту 06.035 «Программист» и требованиям ФГОС СПО 09.02.09 «Веб-разработка».
Стоимость и оплата
Оплату можно разделить на 4 этапа в течение обучения. Все платежи осуществляются напрямую в адрес образовательной организации — без процентов и скрытых комиссий.
1 этап
при старте модуля 1
72 000 ₽
2 этап
перед модулем 2
72 000 ₽
3 этап
перед модулем 3
72 000 ₽
4 этап
перед модулем 4
72 000 ₽
Общая стоимость программы — 288 000 ₽
Содержание
- 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
- 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Финальный проект: оффлайн-совместимое приложение с API и БД
- 4.36Практическая №18 Защита итогового кроссплатформенного приложения
Все занятия проводятся онлайн в формате группы во главе с преподавателем
Да, все программное окружение настраивается под руководством наставника
После успешной сдачи проекта выдается диплом о профессиональной переподготовке
Требования
- Уверенное владение ПК
- Наличие гарнитуры и стабильного подключения к интернету
- Программное обеспечение устанавливается совместно с преподавателем
Особенности
- Обучение без воды — только актуальные знания для реальных задач
- Полноценная практика с заданиями по каждой теме
- Персональная работа с преподавателем и разбор ошибок
- Гибкий выбор формата и графика обучения
- Диплом о профессиональной переподготовке по окончании
Целевая аудитория
- Начинающие разработчики, стремящиеся освоить востребованную специализацию в мобильной разработке
- Студенты ИТ-специальностей, желающие получить практические навыки создания мобильных приложений
- Frontend-разработчики, которые хотят перейти или расширить компетенции в сторону мобильной разработки
- Опытные программисты, желающие освоить кроссплатформенную альтернативу
- Специалисты с непрофильным образованием, прошедшие базовые курсы по программированию

