CopeCart – приложения для мониторинга продаж электронной дистрибуции
Задача
Создать по дизайну CopeCart клиентские приложения, которые выполняли бы роль утилиты для мониторинга показателей продажи электронной дистрибуции, позволили владельцам аккаунтов ставить цель и получать уведомления об их выполнении. Основным из нефункциональных требований была плавность работы приложения. "Интерфейс должен быть smooth", – отмечал заказчик.
Решение
Разработка нативных приложений для существующего бизнеса имеет множество преимуществ. Во-первых, это возможность масштабирования продукта, во-вторых, его стабильность и эффективность при условии использования лучших практик разработки приложений. В-третьих, в дальнейшем найти специалиста по поддержке и развитию продукта не будет значительной проблемой. Именно поэтому мы выбрали разработку нативных приложений для CopeCart.
Разработка
Технологии выбраны, API написан командой, разрабатывавшей сервис. Приложение-утилита состояло из авторизации, профиля пользователя, его настроек и основной массивной части (большого объема вкладок с графиками). Поэтому для построения и кастомизации графиков были выбраны следующие библиотеки:
Это достаточно мощный инструмент в арсенале mobile разработчика. Если иметь достаточно опыта, можно реализовать анимированное построение графиков разных типов с отличной оптимизацией, что влияет на результат во время рендеренга на экране.
Мы реализовали проверенный годами практики архитектурный подход, Clean Architecture из MVVM. Rx предоставил возможность в некоторых случаях объединять результаты асинхронных запросов до того, как они попадают в ViewModel. Это позволило строить графики по сборной информации из нескольких источников и не изменять интерфейс API методов. Это было очень полезно, поскольку web-клиент также использовал данный API, хотя и имел местами другой функционал.
Для отслеживания случаев, когда у пользователей качество сетевого соединения создает негативное впечатление, мы подключили Firebase Performance Monitoring. Это позволило мониторить скорость выполнения запросов, оптимизировать быстродействие со стороны сервера или проводить изменения, нацеленные на уменьшение объема трафика, что ускорит скорость загрузки в условиях плохой интернет-связи.
Результат
Команда полностью удовлетворила потребность клиента в приложении, демонстрирующем “smooth интервейс“, независимо от того, какое количество вкладок с графиками он активировал в настройках. Все страницы загружаются асинхронно, данные рендерятся анимированно.
Команда проекта:
- Александр
Android разработчик
- Иван Красильников
Android разработчик
- Александр Ф.
IOS разработчик