×

Ukrsib online — тонкая настройка мобильного банка

Релиз UKRSIB online вышел за рамки простого интернет-банка. Его клиентская часть содержит модульную шину, где каждый сервис зарегистрирован в Dagger-графе по принципу plug-and-play. При запуске приложение вычисляет список необходимых компонент, неизменяемо монтирует их в память и переходит к lazy-инициализации остального кода. Такой подход снижает холодный старт до 0,8 с на средних устройствах.

UKRSIB online

Гладкий UX зависит от реактивного рендеринга. Обновления приходят через Flow-стримы, а на iOS через Combine. Состояние экрана сериализуется в immutable-объект, проходящий через редьюсеры без сайд-эффектов. Этот паттерн убирает артефакты при смене ориентации и решает задачу «вечной» формы платежа: пользователь возвращается именно туда, где остановился.

Безопасность держится на трёх слоях. Первый — HSM в дата-центре, отвечающий за мастер-ключи. Второй — App-Shield с обфускацией, стриппингом отладочных символов и RASP-датчиками. Третий — local enclave: на Android — KeyStore c StrongBox, на iOS — Secure Enclave. Вместе они сводят фальсификацию транзакций к статистической погрешности.

На сервере действует idempotency-filter: каждое действие имеет UUID v4, повторный запрос с тем же UUID игнорируется, что устраняет «дребезг» при плохой сети. Алгоритм реализован через Redis-кластер с скриптовой блокировкой Lua — время обработки 2 мс.

Приложение разговаривает с API через rpc-канал поверх HTTP/2. Размер полезной нагрузки уменьшается с помощью протокола rip-PACK, дополненного пользовательской таблицей статических заголовков. Трафик снижен на 26 %. Для офлайн-работы введён CRDT-кэш: операции свёртываются моноидом, конфликтов при синхронизации не возникает.

Тонкости энергии объясняются грамотной работой с JobScheduler и BGTaskScheduler. Задачи группируются, чтобы будить радиомодуль редко. Спустя месяц активного использования среднее потребление батареи держится в пределах 2 %.

Наконец, CI/CD построен на GitLab Runner с dynamic environment. Каждый merge request порождает ephemeral-кластер Kubernetes, где выполняются UI-тесты через Maestro и XCUITest. Скриншоты подшиваются к артефактам, а отчёт Allure отсылается в Slack-канал разработчиков.

Маленькая деталь — progress-bar во время загрузки данных синхронизирован с real-time-метрикой «скорость пакета». Пользователь видит честную анимацию, а не гипнотизирующий «бегунок». Таким образом, UKRSIB online остаётся лёгким на подъём, словно карбон — прочный и почти невесомый.