×

Project makeover – мобильная метаморфоза сервиса

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

Project makeover

Я отвечал за 42-месячный переход сервиса доставки от громоздкой Java-кодовой базы к Kotlin-сплаву с MVI-потоками. Весь маршрут прошёл через этапы: дедубликация, шардирование ресурсов, внедрение dynamic-feature-плагинов. Каждая часть старого монстра получила отдельный Gradle-проект, причём взаимное влияние контролировал lint-хуковый страж.

CI как сцена

Pipeline образует театральный пролог. Push триггер запускает GitLab-runner, который сворачивает docker-слой в overlay-fs, подмешивает mocking-proxy и разворачивает ephemeral-кластер K8s для тестов на реальных API. Идёмпотентная оркестровка — термин из теории распределённых систем, означающий повторяемость операции без побочных эффектов — спасла от снежных commit-коллизий.

Дизайн без швов

Интерфейс пережил разукрупнение через Atomic Design. Atoms превратились в Jetpack Compose-компоненты, Molecules — в reified templates, Organisms — в feature-экраны. Тёмная тема хранит палитру через token-движок, который живёт в Figma-плагине и синхронизируется с Gradle-генератором.

Производительность оцениваю метрикой p99 frame time, уходя от усреднений. Telemetry gating — редкий приём: build включает экспериментальный код, но флаг в remote config пропускает лишь пять процентов сессий, остальным выдаёт стабильный путь. Такой фильтр давит регрессии ещё до попадания в магазин приложений.

Криптография в кармане

Zero-knowledge-шифрование внедрено через двухфакторный ChaCha20-Poly1305 слой. Ключ делится методом Shamir Secret Sharing между облаком и устройством, поэтому сервер не способен расшифровать данные. Внутренний аудит оформил доказываемый протокол knowledge-soundness, взятый из статьи Goldwasser-Micali-Rackoff 1989 года.

В финале релиз занимает лишь 72 МБ, старт ускорился на сорок один процент. Пользователь видит привычный бренд, под капотом скрыт обновляемый конструктор. Работа напоминает реставрацию собора: фасад прежний, каждое кирпичное зерно уже напечатано на 3-D принтере.