Компания «Протей» более 20 лет занимается разработкой и производством целого спектра продуктов для сферы телекоммуникаций государственных структур и коммерческих предприятий. В рамках импортозамещения заказчику была необходима разработка мобильного приложения как альтернатива иностранным мессенджерам для крупных российских компаний.
Задачи проекта
Создать WebView-версию приложения
Спроектировать архитектуру для Android и iOS приложений
Разработать нативное приложение для Android
Разработать нативное приложения для iOS
Провести функциональное тестирование
Начальный этап
На стороне заказчика была реализована web-версия мессенджера и частично разработан backend, который дописывался параллельно с реализацией других задач. На начальном этапе мы провели аналитику проекта, по результатам которой были составлены:
— список задач для разработки MVP; — обоснование стека технологий; — архитектура; — этапы работ с плановыми датами и функционалом.
После согласования итогов этапа аналитики с заказчиком была сформирована команда, состоящая из: Android- и iOS-разработчика, двух тестировщиков и Project-менеджера.
WebView-версия приложения
Работа началась с создания WebView-версии приложения, чтобы заказчик мог демонстрировать её конечным пользователям для сбора фидбека. Одним из ключевых моментов было создание нативных уведомлений, которые мы реализовали с помощью FCM.
После выпуска стабильного релиза началась разработка полноценной нативной версии.
Нативное Android-приложение
Разработка Android-версии началась с замещения отдельных элементов нативными компонентами.
Последовательно были замещены: навигационная панель, экраны контактов, экран списка чатов, экран чата, экран создания группового чата, экран редактирования группового чата и т.д.
Далее мы приступили к реализации ключевых функций приложения. Вот некоторые из них:
— экран «проекты»; — поиск по чатам и сообщениям; — отправка файлов и изображений; — видеоплеер; — светлая/тёмная тема.
На настоящий момент разработка приложения активно продолжается и запланировано внедрение большого количества нового функционала.
Нативное iOS-приложение
Процесс разработки iOS был аналогичен процессу создания Android-приложения. Сначала мы создали WebView-версию, чтобы заказчик мог демонстрировать её конечным пользователям и собирать фидбек. Далее начали замещение нативными компонентами и реализацию основных функций.
При проектировании архитектуры было принято решение использовать максимально современный фреймворк для создания нативного iOS-приложеня. На момент старта работ SwiftUI хоть и был довольно молодым, но очень переспективным фреймворком, который в будущем, вероятно, полностью вытеснит UIKit и, после согласования с заказчиком, мы остановились именно на нём.
Также как и Android-версия, разработка iOS активно продолжается.
Функциональное тестирование
Начиная с этапа разработки команда QA занималась анализом требований, подбором тестового стенда и составлением тестовой документации, далее — занималась функциональным тестированием, тестированием сборок, а также поиском и заведением багов с последующей проверкой их устранения.
В качестве основного инструмента для ведения тестовой документации и настройки процесса тестирования мы использовали собственную TMS — DoQa, в которой провели более 1500 прогонов (ранов).
Тестирование Android- и iOS-версии велось на нашем стенде, насчитывающем 400+ живых девайсов
В результате мы создали 2 мобильных приложения для Android и iOS, не уступающих по функционалу современным мессенджерам.
Главной конкурентной фишкой стало то, что данный мессенджер можно использовать в государственных организациях, так как все компоненты системы и команда разработки находятся в России. Для конкретной организации может быть развёрнута внутренняя версия мессенджера, которая может локально работать внутри корпоративной сети организации.
Данный подход позволяет адаптировать приложение под нужды конкретного заказчика.