Аудит в подарокАудит сайта в подарокдо 31 декабряПодробнее
Тема
Приложения
Дата
Спрос на вопрос
150 показов в месяц

Сколько времени занимает разработка мобильного приложения

Реальные сроки разработки мобильного приложения: 8-16 недель до релиза в сторах, разбор по этапам с неделями и честно о том, где проект встаёт.

Гибридное приложение доходит до публикации в App Store и Google Play за 8-16 недель. Восемь недель - это каталог с авторизацией и формой заявки. Шестнадцать - сервис с оплатами, ролями, офлайном и админкой. Сроки разработки мобильного приложения почти никогда не упираются в скорость набора кода: вилку между этими числами задают решения заказчика, чужие API и очередь на проверку в сторах.

Дальше - из чего складываются эти недели, какие этапы идут параллельно, а какие нет, и в каких местах проект встаёт на две недели, не написав ни строчки.

Разработка мобильных приложенийот 350 000 до 1 200 000 ₽сроки: 8-16 недель до релиза в сторах

От чего зависят сроки разработки мобильного приложения

Количество экранов и состояний. Экран это не картинка. У каждого есть состояние загрузки, пустое состояние, ошибка сети, состояние «нет прав на этот раздел». Десять экранов превращаются примерно в сорок состояний, и каждое надо нарисовать, собрать и проверить на устройстве. Тридцать экранов - это не втрое дольше, а примерно вчетверо: растут навигация, глубокие ссылки и связи между разделами.

Наличие бэкенда. Если сервер уже есть, задокументирован и отвечает так, как написано в документации, минус 3-5 недель. Если бэкенд пишется с нуля, это отдельный трек: схема данных, авторизация, роли, миграции, вебхуки. На платформе событий бэкенд был на Node.js с tRPC, Zod и Prisma, типы уезжали в приложение автоматически, и поэтому клиент с сервером шли почти синхронно. С чужим REST API без типов так не выходит никогда.

Нативные возможности. Камера, галерея, биометрия, push, шеринг, фоновая загрузка. Часть закрывается готовыми плагинами Capacitor за день. Часть приходится писать руками на Swift и Kotlin. Я написал больше восьми таких плагинов, разброс был от двух дней до двух недель на штуку. Нативный Share Extension на SwiftUI с App Group и обменом данными между процессами занял две недели чистого времени: у расширения свой процесс, жёсткий лимит памяти и почти нет нормальных логов.

Время съедает не код, а ожидание

Самое неприятное открытие для заказчика: разработка редко бывает узким местом. Проекты стоят в очереди к самому заказчику.

Контент. Тексты разделов, описания тарифов, фотографии, оферта, политика конфиденциальности. Приложение без политики конфиденциальности не пройдёт проверку ни в App Store, ни в Google Play, а её должен утвердить юрист компании, а не разработчик. Между «мы напишем» и «вот файл» проходило и три недели.

Доступы к платёжной системе. Подключение эквайринга или сервиса вроде Prodamus требует юрлицо, договор и модерацию магазина. На платформе событий приём оплат работал через вебхуки Prodamus с автовыдачей билета, и сама интеграция заняла несколько дней. Ожидание боевых ключей заняло дольше, чем работа с ними.

Аккаунт разработчика. Apple Developer Program стоит 99 $ в год, Google Play Developer - 25 $ разово. Для аккаунта на организацию Apple требует номер D-U-N-S, его выдаёт Dun & Bradstreet, и это отдельная неделя, а иногда две, если в реестре указан старый юридический адрес. Начинать этот процесс надо в первую неделю проекта, а не на десятой.

Решения. Кто может отменить заказ, что видит контролёр, а что фотограф, куда падают деньги при возврате. Каждый такой вопрос без ответа блокирует не один экран, а ветку сценария.

Этапы и недели

Ниже - реальная раскладка по этапам для приложения средней сложности. Отмеченные как «нужен клиент» этапы не двигаются без вашего участия, и именно они чаще всего растягивают проект.

График работ

Этапы разработки приложения

Гибридное приложение на iOS и Android. Часть этапов идёт параллельно, поэтому общий срок 8-16 недель, а не сумма строк.

  1. 01 0-1,5

    Аналитика и ТЗ нужен клиент

    1-2 недели

    Экраны, роли, состояния, спорные сценарии

  2. 02 1,5-4

    Дизайн нужен клиент

    2-3 недели

    Макеты, состояния, иконка, экран запуска

  3. 03 4-8

    Бэкенд и API

    3-5 недель

    Схема данных, авторизация, роли, вебхуки

  4. 04 8-13,5

    Приложение

    4-7 недель

    Экраны, навигация, офлайн, состояния ошибок

  5. 05 13,5-15

    Нативные плагины

    1-2 недели

    Swift и Kotlin там, где веб-слоя не хватает

  6. 06 15-16,5

    Тестирование на устройствах

    1-2 недели

    Реальные телефоны, старые версии ОС, слабая сеть

  7. 07 16,5-18,5

    Публикация в сторах нужен клиент

    1-3 недели

    Аккаунты, D-U-N-S, метаданные, проверка

Итого около 18,5 нед., участие клиента на 3 из 7 этапов

Если сложить строки в столбик, получится 13-24 недели. В календаре выходит 8-16, потому что часть этапов идёт внахлёст.

Почему параллелить получается не всегда

Бэкенд и приложение действительно идут вместе. Как только согласована схема данных и контракты запросов, серверная часть и клиент пишутся одновременно, а клиент до готовности сервера работает на заглушках. Это экономит 3-4 недели и держится ровно до первого изменения контракта.

Нативные плагины тоже пишутся параллельно основному приложению: у них своя ветка, своя сборка, свой тест на устройстве. Тестирование начинается не после разработки, а на второй неделе кода, потому что искать баг верстки на Android 9 через два месяца дороже, чем через два дня.

А вот дизайн параллелить с разработкой почти нельзя. Верстать по неутверждённому макету значит переверстать дважды. Единственное исключение: если дизайн отдаётся частями и первым приходит сценарий авторизации, разработка стартует на нём.

Публикация тоже плохо параллелится. Загрузить сборку в App Store Connect можно только с оформленным аккаунтом, сертификатами и профилями. Поэтому аккаунты я прошу заводить в первую неделю, ещё до дизайна.

Где проект встаёт

Согласование дизайна. Самая частая пробка. Один круг правок это нормально, три круга это плюс две недели. Помогает жёсткий формат: правки собираются одним списком от одного человека, а не приходят по одной в мессенджер.

Чужой API без документации. Интеграция с 1С, отраслевой CRM или внутренней системой заказчика. Часто выясняется, что документация устарела на два года, боевой контур отвечает иначе, чем тестовый, а человека, который писал этот API, в компании уже нет. Закладывать на такую интеграцию неделю бессмысленно, реальный разброс от недели до месяца.

D-U-N-S и юридические процедуры для App Store. Apple проверяет соответствие названия аккаунта юридическому лицу побуквенно. Расхождение в форме собственности возвращает заявку на второй круг.

Первая проверка в App Store. Обычно сутки-двое, но первый релиз нового приложения проверяют внимательнее. Отказ по гайдлайну 4.2 (минимальная функциональность) для гибридного приложения означает переделку, а не переписку.

Что можно ускорить и чем это оплачивается

Реально сжать срок можно тремя способами, и все они стоят денег или качества.

  • Готовый дизайн заказчика. Минус 2-3 недели, если макеты сделаны в Figma со всеми состояниями и адаптивом. Красивые картинки без состояний ошибок ничего не экономят.
  • Релиз сначала на Android. Google Play обычно проверяет 1-3 дня, App Store требует больше подготовки. Иногда логично выпустить Android на две недели раньше и собрать первые отзывы.
  • Сокращение объёма первого релиза. Самый честный способ. Вторая роль пользователя, чат внутри приложения и тёмная тема стоят недель, а не дней, и почти всегда переживают перенос во второй релиз.

Чего делать не стоит: пропускать тестирование на реальных устройствах и выкидывать аналитику. И то и другое возвращается через месяц в виде отзывов с одной звездой и невозможности понять, где именно люди отваливаются.

Когда приложение делается за месяц

Такое бывает, и я не считаю нужным это скрывать. Месяц реален при трёх выполненных условиях сразу: есть готовый утверждённый дизайн, есть работающий бэкенд с документацией, и приложение не требует ничего нативного сверх push-уведомлений. Обычно это внутренний инструмент для сотрудников или мобильная витрина к существующему сервису.

Если хотя бы одно условие не выполнено, месяц превращается в обещание, которое закрывается кодом без тестов и релизом, который отклонят.

Отдельный сценарий: иногда приложение вообще не нужно. Если задача решается адаптивной версией сайта или Telegram-ботом, срок падает до 1-3 недель и бюджет до 60-250 тысяч рублей. Я говорю это до договора, потому что приложение, которое стоит в сторе и никому не нужно, стоило 8-16 недель чьей-то жизни.

Как посчитать срок для своего проекта

Возьмите список экранов, умножьте на четыре состояния, добавьте бэкенд, если его нет, и прибавьте две недели на всё, что связано с аккаунтами и проверкой в сторах. Получится число, близкое к правде.

Точный срок я фиксирую после аналитики, то есть после первого этапа, когда известны экраны, роли и список интеграций. До этого любая дата означает либо запас в мою сторону, либо перенос релиза на третьем месяце. Что входит в работу и как считается бюджет, расписано на странице разработки мобильных приложений.

Посчитаем вашу задачу

Расскажите, что нужно. Отвечу в течение рабочего дня: сроки, вилка бюджета и что можно не делать, чтобы сэкономить.

Обсудить задачу
Обсудить задачу

Перезвоню сам

Оставьте имя и номер. Позвоню в рабочее время, обычно в течение пары часов.