Skip to content

Контрольная — Final Exam

Финальная работа проверяет не память на syntax, а способность самостоятельно превратить идею в модель, state flow и доступный интерфейс. Возвращаться к Day 1–19 и проектам можно и нужно.

Часть 1: контрольная Projects 13–19

Выбери небольшое приложение, в котором есть:

  • импорт или создание пользовательских данных;
  • локальное persistence;
  • navigation между списком и detail;
  • search/filter/sort;
  • хотя бы один gesture или animation;
  • accessibility labels и альтернативы жестам;
  • adaptive layout для узкой и широкой ширины.

Подходящие идеи: каталог мест, карточки для учёбы, коллекция фотографий или список мероприятий.

Часть 2: план до Xcode

Запиши models и их relationships, источник истины каждого изменяемого значения, список экранов и возможные ошибки. Только после этого создавай Xcode project.

Часть 3: критерии проверки

  1. приложение запускается с чистыми данными;
  2. данные переживают перезапуск;
  3. пустое, loading и error состояния понятны;
  4. основные действия доступны VoiceOver;
  5. крупный Dynamic Type не обрезает критический текст;
  6. код разбит по ответственности, а не по случайному размеру файла;
  7. ошибки не скрыты пустыми catch.
  8. чистая бизнес-логика покрыта Swift Testing, включая один failure или cancellation case;
  9. permissions запрашиваются в контексте, а недоступные API имеют fallback;
  10. пользовательские строки вынесены в String Catalog, а README фиксирует deployment target, data flow и известные ограничения.
Самостоятельная работа

Испытание

Задание

Собери выбранное приложение без пошагового tutorial. Веди короткий журнал решений: проблема → выбранная модель → проверка.

Что уже нужно знать

Весь маршрут Swift → SwiftUI. Используй карту курса для точечного повторения.
Показать подсказку 1
Начни с одного вертикального slice: model, один экран, одно изменение и сохранение. Потом расширяй.
Показать подсказку 2
Если застрял, найди не готовый экран, а конкретную концепцию: Binding, navigation, Codable, SwiftData или layout.
Показать решение
Единственного решения нет. Готовый результат — работающее приложение, которое проходит критерии выше и которое ты можешь объяснить своими словами.

Курс завершён

Ты не сменил Swift на новый язык. Ты последовательно научился использовать Swift для моделей, поведения, состояния, интерфейса, данных и системных возможностей Apple platforms.

Открыть карту связей курса →

Переход между соседними страницами: и вне полей ввода.

ОБСУЖДЕНИЕ

Комментарии

Вопросы, находки и подсказки по этой странице.

Загружаем комментарии…