Документування архітектури мобільного додатку
Документація архітектури потрібна в трьох випадках: новий розробник повинен розуміти систему за день, а не два тижні; команда обговорює розширення — і всі бачать різні ментальні моделі одного й того самого додатку; проект передається іншій команді або клієнту.
Що документуємо і як
Не пишемо «Додаток використовує MVVM» в README. Документуємо рішення та їх обґрунтування.
C4 Model—практичний стандарт для мобільних систем. Чотири рівні деталізації:
- Context—мобільний додаток у контексті користувачів, зовнішніх систем, бекенду
- Containers—iOS додаток, Android додаток, API бекенд, сервіс push сповіщень, CDN
- Components—всередину iOS додатку: Authentication Module, Feed Module, Payment Module
- Code—класи та інтерфейси всередину конкретного модуля (тільки для складних частин)
Інструменти: Structurizr (DSL для C4, рендерить діаграми з коду—діаграми завжди актуальні якщо їх оновлювати разом з кодом), draw.io / Miro для менш формальних схем.
ADR (Architecture Decision Records)—короткі документи у форматі «ми вибрали X замість Y тому що Z». Файл у репозиторії: docs/adr/0001-use-swiftui-over-uikit.md. Новий розробник читає ADR і розуміє чому так, а не переоткриває рішення заново.
Діаграми потоку даних. Як дані рухаються від API до екрана: мережевий шар → кеш → ViewModel → View. Для offline режиму: локальна БД → ViewModel → sync queue → API. Малюємо sequence diagram для нетривіальних потоків (Apple Sign-In, background sync).
Мінімально необхідний набір
Для середнього мобільного додатку (2–4 розробники, 50+ екранів):
- README з onboarding інструкціями (як запустити проект, версії Xcode/Android Studio/Flutter SDK, змінні середовища)
- Архітектурна схема на рівні C4 Containers (одна сторінка)
- Опис ключових архітектурних паттернів: «використовуємо Clean Architecture, дані рухаються Repository → UseCase → ViewModel → View»
- ADR для кожного неочевидного технічного рішення
- Документація CI/CD: що запускається при PR, що запускається при merge в main
Не документуємо очевидне. Не потрібна діаграма для кожного класу—IDE покаже. Потрібна документація саме тих рішень, логіка яких не видна з коду.
Час реалізації: аудит існуючої кодової бази та створення документації з нуля — 1–2 тижні. Підтримка в актуальному стані — вбудована в процес: новий ADR при кожному архітектурному рішенні, схеми оновлюються при змінах структури.







