План практических занятий: Разработка мобильных приложений
Платформа
React Native + Expo (JavaScript/TypeScript). Запуск через Expo Go или эмулятор. Установка окружения — практика 3.
Формат занятий
Каждая практика привязана к одноимённой лекции (practice_NN ↔ lecture_NN) и
включает:
- Цели работы — что студент научится делать.
- Коротко о теории — опорные понятия лекции (для кодовых практик).
- Задание — пошаговое выполнение (с фрагментами кода для практик-кодовых).
- Критерии оценки — распределение баллов.
- Вопросы для самопроверки — связь с экзаменом.
Практики 1, 2 и 14 — аналитические (без программирования); остальные — кодовые.
Раздел 1 (4 практики)
- Эволюция и экосистемы мобильных приложений — таймлайн, сравнение iOS/Android (анализ).
- Классы приложений, платформы и паттерны — сравнение подходов, схемы MVC/MVP/MVVM (анализ).
- Установка окружения и «Hello, world» на Expo — Node/Git, create-expo-app, Expo Go.
- Компоненты, состояние и Flexbox — экран со списком,
useState, стилизация.
Раздел 2 (10 практик)
- Навигация и передача параметров — Stack + Tab, route.params.
- Управление состоянием —
useReducer, Context API (тема/авторизация). - Сетевые запросы и кеширование — fetch, обработка ошибок, AsyncStorage.
- Аутентификация и защита маршрутов — AuthContext, SecureStore, auth/app-стеки.
- Рефакторинг к MVVM — вынос логики во вьюмодель-хук, разделение ответственностей.
- Слой данных: репозиторий и кеширование — репозиторий-фасад, Cache-First/Network-First.
- Feature-модули, глобальное состояние и DI — структура по фичам, Zustand, DI через провайдер.
- Сетевой слой: API-клиент, интерсепторы, JWT — обёртка над fetch/axios, подстановка токена.
- Надёжный сетевой слой — retry с backoff+jitter, отмена через AbortController, оптимизация.
- Платформенные архитектуры и жизненный цикл (Android/iOS) — сравнение MVVM/MVI/Clean, lifecycle (анализ).
Связь с лекциями и экзаменом
Практики 1–4 закрепляют раздел 1 (вопросы экзамена 1–11); практики 5–14 — раздел 2 (вопросы 12–40). Сквозной результат курса — рабочее Expo-приложение с навигацией, состоянием, аутентификацией и надёжным сетевым слоем, построенное по слоистой архитектуре.