Когда приложение находится в активной стадии разработки, то в работу постоянно поступают новые продуктовые задачи на аналитику и разработку. Также клиент прислушивается к обратной связи от пользователей для улучшения опыта использования приложения.
В таком случае необходимо быть гибким, постоянно менять, удалять или скрывать функционал от пользователей в проекте, добавлять новые возможности, менять дизайн.
Старая архитектура MVC не давала такой гибкости и стабильности, присутствовало слишком много связанностей, переиспользовать код было сложнее, тратилось много времени на реализацию даже простых вещей.
В итоге было принято решение писать все новые модули на чистой архитектуре VIPER. Кодовая база проекта стала проще и теперь IT решение легче расширять, можно быстрее добавлять новую функциональность, убирать старое.
Алексей, руководитель направления мобильной разработки
Для упрощения работы с сетевым слоем и ускорения разработки было принято решение о разделение моделей на сетевую для реквестов / ответов с сервера (DTO), и на клиентскую (VO) для преобразования и форматирования данных, которые мы получаем с бэка.
Алексей, руководитель направления мобильной разработки