Клиенту было важно получить производительное и отзывчивое приложение, поэтому мы выбрали нативную разработку. Язык Swift позволил использовать самые удобные и свежие наработки мобильной индустрии.
В качестве архитектуры был выбран надежный MVVM. Он подразумевает использование реактивного подхода в программировании, с которым лучше всего справляется RxSwift. Такая связка позволила нам построить гибкую структуру проекта, открытую к изменениям и расширению.
С той же целью — открытость к изменениям — был применен GraphQL, язык запросов к API, позволяющий настраивать клиент-серверное взаимодействие, без фактических изменений на стороне сервера.