Чтоб раскрыть тему "чем же так полезна Replica", определенно потребуется целая статья, а то и не одна. Но если вкратце, задача библиотеки - полная автоматизация сетевого взаимодействия. Разработчику больше не нужно думать, в какой момент вызвать тот или иной запрос. Он просто задает настройки: откуда скачивать данные, как быстро данные устаревают, какой размер у кеша и др. Об остальном библиотека заботится сама: запускает и отменяет запросы, удаляет старые данные. И делает это оптимальным образом.
Что касается ваших вопросов
1) Да, Replica это надстройка поверх библиотеки для выполнения сетевых запросов. Причем, это может быть хоть Retrofit, хоть Ktor, хоть Apollo GraphQL. Ограничений нет.
2) и 3) Отмена сетевого запроса и LRU-кеш это частные случаи. Для таких отдельных задач в Android-сообществе есть решения. А вот комплексного решения (такого как Replica) для широкого спектра задач я не встречал.
жду версию на хабре с техническими подробностями)
а пока действительно больше вопросов:
1. библиотека не замена Retrofit, а надстройка?
2. "если пользователь ушёл с экрана, то запрос будет отменён" - для этого же есть корутины с viewModelScope. или тут что-то интереснее?
3. "выгружает старые ненужные данные" - это же просто кэш, для работы с которым уже есть все инструменты. или тут что-то интереснее?)
за то что сразу написали плагин для отладки плюс в карму)
Спасибо за интересные вопросы.
Чтоб раскрыть тему "чем же так полезна Replica", определенно потребуется целая статья, а то и не одна. Но если вкратце, задача библиотеки - полная автоматизация сетевого взаимодействия. Разработчику больше не нужно думать, в какой момент вызвать тот или иной запрос. Он просто задает настройки: откуда скачивать данные, как быстро данные устаревают, какой размер у кеша и др. Об остальном библиотека заботится сама: запускает и отменяет запросы, удаляет старые данные. И делает это оптимальным образом.
Что касается ваших вопросов
1) Да, Replica это надстройка поверх библиотеки для выполнения сетевых запросов. Причем, это может быть хоть Retrofit, хоть Ktor, хоть Apollo GraphQL. Ограничений нет.
2) и 3) Отмена сетевого запроса и LRU-кеш это частные случаи. Для таких отдельных задач в Android-сообществе есть решения. А вот комплексного решения (такого как Replica) для широкого спектра задач я не встречал.