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

Доработка мобильного приложения — это не разработка с чистого листа, а работа с уже живым продуктом, у которого есть пользователи, история коммитов и накопленный тех-долг. Здесь ошибка стоит дороже: один неаккуратный релиз ломает то, что годами работало. Поэтому мы сначала разбираемся в чужом коде, а потом меняем его — по шагам, с понятным откатом на каждом этапе.

Мы берёмся за приложения на React Native (и нативные части под iOS/Android, где они есть), поднимаем их на актуальные версии SDK, добавляем фичи, чиним то, что копилось, и выстраиваем процесс релизов, при котором продукт развивается, а не замирает в страхе что-нибудь задеть. После доработок остаёмся на поддержке — столько, сколько нужно продукту.

Безопасный вход в чужой код

Перед первой строчкой кода мы изучаем, что вообще получили: архитектуру, зависимости, версии RN и нативных модулей, состояние сборки, наличие тестов и CI. Заводим проект себе, добиваемся воспроизводимого билда на iOS и Android, читаем git-историю и точки боли.

На выходе короткого ознакомления — карта приложения и список рисков: где код держится на честном слове, что отвалится при ближайшем обновлении ОС, какие места трогать нельзя без тестов. Это даёт ориентир по объёму работ ещё до того, как мы что-то меняем.

Новые фичи без регрессий

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

Каждая заметная доработка идёт отдельной веткой и проходит через ревью и проверку на реальных устройствах. Спорные по объёму вещи оцениваем заранее и согласуем, чтобы не было сюрпризов по срокам и бюджету.

Разбор тех-долга и рефакторинг

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

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

Обновления под новые iOS и Android

Apple и Google каждый год поднимают требования: целевые SDK, новые правила приватности, отказ от устаревших API. Приложение, которое не обновляют, рано или поздно перестаёт собираться или его снимают с публикации. Мы поднимаем версию React Native и нативных зависимостей, чиним сломавшееся после апгрейда и проверяем работу на актуальных версиях ОС и устройствах.

Сюда же входит подготовка к ужесточениям сторов — разрешения, приватность, требования к сборке — чтобы очередной релиз не завернули на ревью.

Релизы без даунтайма и поддержка

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

После доработок остаёмся на сопровождении: следим за стабильностью, реагируем на инциденты, планируем развитие. Продукт продолжает жить и обновляться, а не превращается в брошенный код.

Вопросы и ответы

Возьмётесь за чужой код, который писали не вы?
Да, это профильная задача. Начинаем с ознакомления: поднимаем сборку, разбираем архитектуру и зависимости, фиксируем риски. После этого даём честную оценку — что можно доработать поверх, а что лучше переписать. Если код в совсем плохом состоянии, скажем прямо.
Сколько стоит доработка приложения?
Зависит от состояния кода и объёма задач: точечная фича на здоровом проекте стоит недорого, а разбор тех-долга и апгрейд заброшенного приложения ближе к стоимости среднего проекта (ориентир — от 1,5 млн ₽, в зависимости от объёма). Точную оценку даём после короткого разбора кода, до начала основных работ.
Что в итоге получит наша команда?
Доработанное приложение с понятной историей изменений, описанием того, что и зачем меняли, и зелёной сборкой под актуальные iOS/Android. Код остаётся вашим в вашем репозитории. При желании дальше ведём продукт на поддержке.

Расскажите о продукте — и составим маршрут до релиза

Созвон на 30 минут: разбираем задачу, риски и формат сотрудничества. Без обязательств.