Connect with us

GitHub

Kwery — управление серверными данными для Android-приложения

Опубликовано

/

     
     

Kwery — это библиотека для управления серверным состоянием в Android-приложении. По смыслу она очень похожа на TanStack Query/React Query, только для Kotlin/Android. Она не заменяет Retrofit, Ktor или OkHttp, а работает поверх них. Автор формулирует идею так: «Room хранит данные, которыми владеет приложение. Kwery управляет данными, которыми владеет сервер».

Kwery предлагает взять на себя значительную часть типовой логики между UI и сетевым клиентом. При этом сам HTTP-запрос всё равно делает Retrofit/Ktor/OkHttp. Kwery однако решает, когда его вызывать, нужно ли вообще вызывать, можно ли отдать уже имеющиеся данные и как показывать состояние запроса.

Основные вещи, которые она делает:

  • Кэширует ответы сервера. Если экран повторно запрашивает те же данные, Kwery может вернуть существующий результат вместо нового HTTP-запроса.
  • Дедупликация запросов. Если несколько экранов/компонентов одновременно запросили один ресурс, не обязательно делать несколько одинаковых запросов.
  • Управляет состояниями loading/success/error.
  • Делает retry при ошибках.
  • Может обновлять данные в фоне.
  • Управляет устареванием кэша.
  • Поддерживает offline-сценарии.
  • Может переиспользовать один результат между несколькими подписчиками.
  • Использует корутины Kotlin + Flow.
  • Есть интеграция с Compose.
Kwery на GitHub: https://github.com/dbjpanda/kwery
Платформа: Android
⭐️: 16
Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Telegram

Популярное

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: