Протей
Разработка мобильного приложения для НТЦ «Протей»


- Создать 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, не уступающих по функционалу современным мессенджерам.
Главной конкурентной фишкой стало то, что данный мессенджер можно использовать в государственных организациях, так как все компоненты системы и команда разработки находятся в России. Для конкретной организации может быть развёрнута внутренняя версия мессенджера, которая может локально работать внутри корпоративной сети организации.
Данный подход позволяет адаптировать приложение под нужды конкретного заказчика.
тест-кейсов
- Android SDK >= 23
- Kotlin(coroutines/flows)
- Jetpack Compose
- OkHttp/Retrofit
- Room
- Hilt
- Gradle
- Multimodules
- Glide
- Firebase Crashlytics
- ExoPlayer
- Commonmark
- Swift
- SwiftUI
- Combine
- Realm
- Websocket
- Firebase
iOS/Android-разработчики
Менеджер проектов