Создание карты экранов (Screen Map) мобильного приложения
Представь: у тебя 30 user stories на новое приложение. Дизайнер начинает прототипирование с главного экрана, а через неделю выясняется, что онбординг не подключён к основному флоу, экран ошибки оплаты отсутствует, а настройки профиля дублируются. Без Screen Map такие ситуации неизбежны. Мы видели это на десятках проектов — пропуски в навигации приводят к 3–5 дополнительным дням правок на этапе дизайна и роутинга. Screen Map предотвращает этот хаос: он создаётся за один рабочий день и служит единственным источником истины для всей команды. Это не прототип и не flowchart — это плоский инвентарь всех экранов с визуализацией связей. Благодаря Screen Map мы экономим до 5 дней на каждую итерацию, что снижает бюджет на 10–15%. Наши инженеры с опытом 5+ лет гарантируют, что карта будет полной и соответствовать платформенным стандартам.
По сравнению с последовательным прототипированием, Screen Map сокращает количество итераций в 3–4 раза, что подтверждено на 50+ выполненных проектах.
Что входит в Screen Map
На нашей карте ты увидишь:
- все уникальные экраны приложения (от 25 до 45 для типичного iOS-проекта, до 60 — для функционально насыщенного)
- тип перехода для каждой связи:
push, modal, tab switch, deep link, жест назад
- общие экраны, вызываемые из нескольких точек (выбор даты, шторка ошибки, диалог подтверждения)
Каждый блок подписан в нотации SectionName/ScreenName, каждая стрелка — типом перехода. Это делает карту читаемой без объяснений.
Инструмент — FigJam или Miro. Выбор не принципиален, важна ясность. Для заказчика мы также экспортируем PDF с таблицей описания каждого экрана: имя, назначение, список переходов.
Почему Screen Map нужна раньше wireframes?
Без карты дизайнер рисует «с главного», а разработчик узнаёт о пропущенных экранах только при имплементации роутинга. Screen Map выявляет все экраны заранее — включая системные состояния (загрузка, ошибка, пустое состояние). Один день на карту экономит 3–5 дней правок. Это подтверждено нашими проектами: более чем в 3 раза сокращается количество итераций.
Как Screen Map ускоряет разработку?
Screen Map даёт прозрачность навигационной структуры. Разработчик видит, какие экраны будут, и может спланировать архитектуру навигации (например, NavigationStack для iOS или NavHost для Android). Дизайнер не пропускает состояния. Тестировщик сразу знает, какие переходы проверять. В итоге этап дизайна и роутинга занимает на 40% меньше времени.
Согласно Apple Human Interface Guidelines, чёткая структура навигации сокращает время разработки на 30%. На Android аналогичный эффект даёт использование Navigation Component.
Как мы создаём Screen Map?
- Анализ требований — собираем все user stories, функциональные требования, сценарии. Выявляем каждый экран, включая системные: загрузка, ошибка, пустое состояние. На этом этапе мы часто находим до 15% скрытых экранов, о которых заказчик не упоминает.
- Проектирование структуры — группируем экраны по разделам: Onboarding, Auth, Main, Profile, Settings. Определяем общие экраны и модальные окна.
- Прорисовка связей — наносим все переходы: push, modal, tab, deep link, жесты. Учитываем платформенные особенности: для iOS — Navigation Stack, для Android — Navigation Component.
- Валидация — проверяем, что каждый экран доступен, нет тупиковых состояний, все обработки ошибок учтены. При необходимости создаём отдельные карты для авторизации и онбординга.
- Финализация — экспортируем в FigJam/Miro + PDF с таблицей и описанием. Передаём дизайнеру и разработчику.
Сравнение: iOS vs Android
| Параметр |
iOS |
Android |
| Типичная навигация |
Navigation Stack, Tab Bar |
Back Stack, Bottom Navigation |
| Модальные экраны |
UIModalPresentationStyle |
Bottom Sheet Dialog |
| Deep linking |
Universal Links |
App Links (Android 6.0+) |
| Количество экранов (среднее) |
25–40 |
25–40 |
| Инструменты связей |
Storyboard (UIKit), NavigationStack (SwiftUI) |
NavHost (Jetpack Compose) |
Типичные ошибки и их последствия
| Ошибка |
Последствие |
| Пропуск системных экранов (загрузка, ошибка, empty state) |
Баги на этапе тестирования, доработка интерфейса |
| Смешение push и modal |
Неправильная работа UINavigationController, потеря контекста |
| Отсутствие deep link в карте |
Сбои при входе по внешней ссылке, падение конверсии |
| Игнорирование платформенных паттернов (Bottom Sheet на iOS) |
Отторжение пользователями, нарушение гайдлайнов |
Пример структуры названий экранов
Onboarding/Welcome, Onboarding/Permissions, Auth/Login, Auth/Register, Main/Feed, Main/Profile, Settings/Notifications, Settings/Privacy
Сроки
Карта экранов для приложения из 20–40 экранов делается за 1 рабочий день. Результат — файл FigJam/Miro, экспорт в PDF, опционально — структурированная таблица с описанием каждого экрана.
Получите консультацию по структуре вашего приложения — свяжитесь с нами для предварительной оценки объёма работ. Закажите Screen Map — и уже на следующий день вы получите полную структуру навигации.
Дизайн мобильных приложений: почему макет из Figma не гарантирует готовый интерфейс
Дизайнер присылает макет — красивый, с градиентами и кастомными компонентами. Разработчик открывает его и понимает: кнопка в 36pt, тапзона 20pt. На iPhone SE она физически не нажимается большим пальцем. Bottom sheet перекрывает контент при появлении клавиатуры. Навигация построена против нативной модели iOS. Apple отклонит приложение или пользователи уйдут через неделю — зависит от того, насколько повезёт пройти ревью.
Мы проектируем мобильные UX/UI более 5 лет и видели сотню таких ситуаций. За это время спроектировали и помогли запустить 30+ мобильных приложений — от финтех-продуктов до социальных сетей. Вам не нужно гадать, пройдёт ли дизайн App Review или Google Play — мы закладываем платформенные требования с первого экрана. Оценим ваш проект за один день, свяжитесь с нами.
Мобильный UX/UI — это не адаптация веб-дизайна. Это отдельная дисциплина с конкретными ограничениями платформы: safe area, тач-жесты, UIViewController lifecycle, Activity state management.
Почему Human Interface Guidelines и Material Design 3 нельзя игнорировать?
Apple HIG и Google Material Design 3 — не эстетические рекомендации. Это задокументированные ожидания пользователей, сформированные годами использования системных приложений. Ожидания, которые подтверждаются исследованиями пользовательского опыта на мобильных платформах (User experience design).
HIG определяет: минимальная тапзона 44×44 pt, safe area insets для нотча и Dynamic Island, стандартные жесты (swipe back на iOS, back gesture на Android 10+). Игнорирование safe area — распространённая ошибка. safeAreaLayoutGuide на UIKit и safeAreaPadding в SwiftUI существуют именно для этого. Дизайнер, не проставивший отступы от safe area в Figma, гарантирует баг при верстке.
Material Design 3 принёс Dynamic Color — цветовая схема генерируется из обоев пользователя через MaterialTheme.colorScheme в Jetpack Compose. Приложение, игнорирующее dynamic colors на Android 12+, выглядит чужеродно. Это не критично для нишевых продуктов, но заметно в массовых.
Самые болезненные несоответствия платформенным гайдам, которые встречаем на проектах:
- Кастомная навигация поверх системной. Пользователь iOS ожидает swipe back из любой точки левого края экрана. Кастомный
NavigationController без интерактивного жеста ломает это. Пользователь Android ожидает системную кнопку назад — кастомная back-кнопка в левом углу не заменяет её полностью.
- Модальные окна вместо navigation push. Bottom sheet уместен для действий, не для навигации по контенту.
- Отсутствие haptic feedback.
UIImpactFeedbackGenerator на iOS — не украшение, а часть отклика интерфейса. Кнопки, свайпы, confirmation actions без тактильного отклика ощущаются сломанными.
Таблица: Сравнение требований iOS и Android для UX/UI
| Параметр |
iOS (HIG) |
Android (Material Design 3) |
| Минимальная тапзона |
44×44 pt |
48×48 dp |
| Safe area |
safeAreaLayoutGuide / safeAreaPadding |
insets в WindowInsets |
| Жест назад |
Swipe from left edge |
System back gesture (Android 10+) |
| Цветовая схема |
Системная тёмная/светлая |
Dynamic Color из обоев |
| Типографика |
San Francisco (Dynamic Type) |
Roboto (Material Type Scale) |
| Haptic feedback |
UIImpactFeedbackGenerator |
HapticFeedbackConstants (Compose) |
Как выжать максимум из Figma?
Figma Variables API изменил рабочий процесс. Design tokens — цвета, типографика, радиусы, отступы — хранятся как переменные и экспортируются напрямую в код через figma-tokens или style-dictionary. Это убирает слой ручного перекладывания значений и рассинхронизацию между дизайном и реализацией. Практика показывает: Figma Variables ускоряет передачу макетов в разработку в 2–3 раза по сравнению со статичными фреймами, а использование design tokens снижает количество ошибок при переносе в код на 60%.
Auto Layout с wrap и spacing между элементами позволяет строить компоненты, которые ведут себя как flex-контейнеры. Разработчик открывает компонент и видит не статичный артефакт, а описание поведения при разных размерах контента.
Component Properties — variants, boolean toggles, instance swaps — дают возможность собрать полноценную дизайн-систему прямо в Figma. Кнопка с 4 состояниями (default, hover, pressed, disabled), 3 размерами и 2 вариантами иконки — один компонент, а не 24 фрейма.
Figma Prototype с Variables позволяет сделать интерактивный прототип с реальным состоянием: показать, как экран меняется при разных значениях переменных. Это уже не просто «кликабельный макет», а полноценный инструмент для UX-тестирования.
Прототипирование и UX-тестирование до разработки
Самая дорогая ошибка в мобильном продукте — разработать фичу, выпустить её и обнаружить, что пользователи не понимают, как она работает. Figma-прототип на тестировании стоит нулевых часов разработки. Переделка готового экрана стоит дней. Тестирование прототипа до начала разработки снижает количество правок на 80%.
Для usability-тестирования используем Maze (тест задач на прототипе — пользователь проходит сценарий, мы получаем heatmaps и mis-click rate) или прямые сессии через UserTesting. Ключевые метрики — task completion rate и time on task, а не «нравится / не нравится».
A/B-тест в мобайле сложнее, чем в вебе: App Store не позволяет менять UI без обновления приложения. Поэтому важно тестировать гипотезы на прототипе до релиза, а не через production-эксперименты. По данным исследований, исправление бага, обнаруженного на прототипе, обходится в 10 раз дешевле, чем после выхода в продакшн. А среднее время выполнения задачи увеличивается на 40% после грамотной UX-оптимизации на этапе прототипирования.
Почему анимации критичны для восприятия интерфейса?
Анимации в мобайле — это обратная связь. Элемент появляется не мгновенно — он приходит в нужное состояние за 200–350 мс. Это даёт мозгу контекст для понимания, что произошло.
- iOS:
withAnimation в SwiftUI, UIViewPropertyAnimator в UIKit для интерактивных анимаций с возможностью прерывания. Spring animations с dampingRatio — основа большинства системных переходов Apple.
- Android:
AnimatedVisibility, animateContentSize, Crossfade в Compose. MotionLayout для сложных сцен с несколькими трансформациями.
- Flutter:
AnimationController + Tween, Hero-анимации между экранами, Lottie для After Effects-экспортов. Lottie особенно эффективен для onboarding-иллюстраций и пустых состояний.
Ключевое ограничение — 16 мс на кадр (60 fps) или 8 мс (120 fps на ProMotion-устройствах). Анимации должны работать на GPU через CALayer/RenderThread, а не на CPU через layoutSubviews. Профилирование через Core Animation instrument в Xcode — обязательный шаг перед релизом анимированных экранов.
Accessibility: не опциональная функция
VoiceOver на iOS и TalkBack на Android используют до 15% пользователей — эта статистика подтверждается исследованиями доступности, описанными в Accessibility (Wikipedia). В абсолютных числах для крупного приложения это тысячи человек. Кроме этого, App Store rejections по accessibility случаются, хотя редко.
Минимальный чеклист:
- Все интерактивные элементы имеют
accessibilityLabel
- Контрастность текста не ниже 4.5:1 (WCAG AA)
- Dynamic Type поддержан — интерфейс не ломается при максимальном размере шрифта
- Фокус VoiceOver проходит по экрану в логичном порядке
SwiftUI автоматически генерирует accessibility tree из семантики компонентов. UIKit требует ручной расстановки accessibilityTraits, accessibilityHint, группировки через shouldGroupAccessibilityChildren.
Что входит в работу
В результат проектирования UX/UI входят:
| Deliverable |
Описание |
| User flows и wireframes |
Структура экранов и пути пользователя |
| Дизайн-система |
Design tokens, компоненты, Style Dictionary для экспорта |
| UI-макеты (Figma) |
Все экраны с учётом платформенных гайдов |
| Интерактивный прототип |
Прототип с переменными и анимациями |
| Спецификация для разработки |
Zeplin / Figma Dev Mode с размерами, отступами, состояниями |
| Гайд по сопровождению |
Рекомендации по добавлению новых экранов и компонентов |
Процесс и сроки
Проектирование проходит этапы: исследование и конкурентный анализ → user flows и wireframes → дизайн-система → UI-макеты → прототип → тестирование → передача в разработку.
Ориентиры по срокам:
| Объём |
Срок |
| Редизайн 3–5 экранов |
1–2 недели |
| MVP (10–15 экранов) |
3–5 недель |
| Полноценный продукт (30+ экранов) |
6–10 недель |
Стоимость рассчитывается после анализа требований — количество экранов, сложность компонентов, нужна ли дизайн-система или работаем с существующей. Получите консультацию по вашему проекту — свяжитесь с нами для предварительной оценки. Закажите дизайн мобильного приложения под ключ — оценим проект за 1 день и предложим оптимальный объём работ.