«Про Домофон» – эволюция зрелого легаси-проекта: рефакторинг, модернизация и новые функции для управления СКД - AMST — разработка цифровых решений

«Про Домофон» – эволюция зрелого легаси-проекта: рефакторинг, модернизация и новые функции для управления СКД

 

 

Проект

«Про Домофон» – это мобильное приложение для управления системами контроля доступа (СКД): домофоны, шлагбаумы, замки. Пользователи имеют возможность открывать двери и ворота через смартфон, используя NFC, BLE и другие технологии. Проекту более 10 лет, он насчитывает десятки тысяч активных пользователей и работает на двух платформах – iOS и Android.

 

Проблема заказчика

За десятилетие существования кодовая база приложения сильно устарела. Android-версия была написана на Java с использованием древних версий Gradle и библиотек, которые не обновлялись годами. Это привело к целому ряду проблем:

  • Приложения нельзя было установить на новые смартфоны из-за ограничений по минимальным версиям SDK.
  • Устаревшие зависимости блокировали публикацию обновлений в магазинах приложений.
  • Высокое потребление батареи и неоптимальная работа с памятью вызывали «тормоза» и фризы.
  • Вылеты и глюки снижали лояльность пользователей.
  • Вносить изменения в старый код было сложно и рискованно – каждый новый функционал мог «сломать» что-то существующее.

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

 

Решение

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

Ключевые направления работы:

  • Обновление инфраструктуры – подняли версии Gradle, заменили устаревшие зависимости на актуальные, обеспечили совместимость с новыми версиями iOS и Android.
  • Миграция на современные технологии – переписали UI-модули на Kotlin + Compose (Android) и SwiftUI (iOS), отказавшись от устаревшего Java и UIKit.
  • Пересмотр UI/UX – поэтапно обновляется внешний вид приложений, они приводятся к современному минималистичному дизайну, улучшается навигация.
  • Добавление нового функционала – расширили возможности системы контроля доступа.
  • Оптимизация производительности – сократили потребление батареи и ресурсов, ускорили загрузку экранов.
  • Бесключевой доступ – пользователи могут открывать двери и ворота без физического ключа, используя смартфон.
  • «Суточные пароли» – гостевой доступ для случаев, когда у гостя нет приложения, сел телефон или забыт дома.
  • Улучшенная работа с NFC и BLE – стабильное и быстрое чтение меток, надёжное подключение к устройствам.
  • Видео- и голосовая связь – возможность видеть и слышать гостя перед открытием двери.
  • Push-уведомления – мгновенные оповещения о событиях (кто открыл дверь, попытка несанкционированного доступа и т.п.).
  • История доступа – пользователь видит, кто и когда открывал дверь.

 

Наш вклад в проект

  • Аудит и анализ легаси – мы детально изучили существующую кодовую базу, выявили узкие места и «технические долги», требующие первоочередного внимания.
  • Постепенный рефакторинг – вместо «большого взрыва» мы обновляли модуль за модулем, что позволило заказчику продолжать эксплуатацию продукта без остановок.
  • Миграция UI на Compose и SwiftUI – полностью переписали пользовательский интерфейс, сделав его современным, быстрым и приятным для глаз.
  • Обновление инфраструктуры – привели зависимости в актуальное состояние, чтобы приложения снова можно было публиковать в App Store и Google Play.
  • Оптимизация производительности – сократили время отклика, снизили энергопотребление и количество вылетов.
  • Внедрение новых функций – добавили суточные пароли, улучшили NFC/BLE, расширили интеграцию с новым оборудованием.
  • Сотрудничество с командой бэкенда – наладили эффективное взаимодействие с разработчиками серверной части, синхронизировали API и протоколы обмена данными.

 

Результаты

  • Десятки тысяч пользователей получили стабильные и быстрые приложения.
  • Количество багов в продакшене значительно сократилось.
  • Согласно опросам пользователей, удовлетворённость продуктом растёт с каждым релизом.
  • Приложения снова прошли модерацию в магазинах – устаревшие зависимости больше не блокируют публикацию.
  • Время отклика интерфейса сократилось, а потребление батареи снизилось.
  • Новые функции (суточные пароли, улучшенный NFC) получили положительные отзывы и повысили удобство пользования системой.
  • Заказчик получил возможность активно развивать продукт, не боясь «сломать» существующую функциональность.

     

Хотите обсудить ваш проект?

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

Обсудить проект