IceRock Development 6 октября 2025

Модернизация мобильного B2B-приложения

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

Задача и причина

Задача: Больше, чем просто редизайн

Наш партнер, IT-компания Devvela, привлек нас к проекту для своего клиента — крупного дистрибьютора напитков Кредос. Изначально перед нами стояла задача провести редизайн существующего приложения для торговых представителей.

Однако уже на старте стало ясно, что имеются фундаментальные проблемы:

  • Ограниченная функциональность: первая версия приложения умела выполнять лишь базовые операции, такие как покупка и работа с корзиной;

  • Устаревшая архитектура: приложение было построено на устаревших технологиях и архитектурном паттерне MVP, что серьезно замедляло внедрение новых функций и усложняло поддержку.

Стало очевидно, что простой «косметический ремонт» не решит этих проблем. Чтобы приложение могло стать эффективным инструментом и поддерживать основные бизнес-процессы компании, требовалась полная техническая модернизация.

Процесс и стратегические решения

Мы подошли к задаче комплексно, разбив работу на несколько ключевых этапов.

1. Технический аудит и смена архитектуры.

Первым шагом мы провели аудит и убедили заказчика в необходимости перехода с устаревшей архитектуры MVP на более современный и гибкий паттерн MVVM. Это было стратегическое вложение в будущее проекта, которое позволило бы стандартизировать разработку и упростить добавление нового функционала.

2. Переход на нативные декларативные фреймворки.

Параллельно мы инициировали миграцию пользовательского интерфейса на современные нативные технологии: с View-компонентов на Jetpack Compose в Android и со Storyboards/ViewControllers на SwiftUI в iOS. Это решение было продиктовано нашей командой разработки, так как новые фреймворки позволяли нам «проще и быстрее» создавать сложные UI и сокращать время на разработку.

3. Итерационное наращивание функциональности.

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

  • Акции и опросы для торговых точек;
  • Система отчетов и напоминания о закрытии кассы;
  • Сложный функционал «планограмм» для фотофиксации выкладки товаров на полках.

Ключевой вызов: Реализация «Планограмм»

Наиболее сложной и нетривиальной задачей стала разработка функционала планограмм. Идея заключалась в том, чтобы торговый представитель мог делать несколько фотографий полок с товаром, а приложение «склеивало» их в единую мозаику для отчета.

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

Для создания мозаичного интерфейса была решена сложная задача по работе с файлами изображений и их взаимному расположению. Каждый новый снимок сохранялся в трех вариантах: миниатюра для предпросмотра, сжатая версия для быстрой отправки на сервер и исходник для резервного копирования. Чтобы добиться единого размера фото от разных камер, интерфейс съемки включал окно видоискателя с подсказками для корректного горизонтального положения. Для точного совпадения границ соседних снимков в интерфейсе отображались их края, под которые пользователь подгонял новое фото. Финальная склейка изображений в единую панораму производилась с 10-процентным перекрытием, что позволяло компенсировать искажения от выпуклой линзы и обеспечить бесшовность итогового изображения.

Результат

Результаты и ценность для бизнеса

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

  • Создана масштабируемая платформа: переход на современный стек (MVVM, SwiftUI, Jetpack Compose) позволяет теперь легко и быстро добавлять новый функционал, не опасаясь обрушить всю систему;

  • Автоматизированы ключевые процессы: приложение напрямую поддерживает и автоматизирует основные рабочие задачи торговых представителей, от сбора заказов до маркетинговых активностей;

  • Повышена эффективность работы: сотрудники клиента получили надежный инструмент, который помогает им выполнять задачи «в полях» быстрее и с меньшим количеством ошибок.

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

В результате, по оценке эксперта, трудовые затраты торгового представителя на фотоотчет сократились в среднем на 35%

Присоединяйтесь к компаниям, которые уже делятся новостями бизнеса на РБК КомпанииУзнать больше