Replica: как мы создали собственную библиотеку и с ее помощью упрощаем Android-разработку

Наш лид команды Android-разработки Артур Артиков придумал и реализовал библиотеку для организации сетевого взаимодействия Replica. Сколько времени нужно, чтобы создать библиотеку, и почему провал — это тоже победа — читайте в нашем материале.

Replica: как мы создали собственную библиотеку и с ее помощью упрощаем Android-разработку
1313

жду версию на хабре с техническими подробностями)

а пока действительно больше вопросов:

1. библиотека не замена Retrofit, а надстройка?

2. "если пользователь ушёл с экрана, то запрос будет отменён" - для этого же есть корутины с viewModelScope. или тут что-то интереснее?

3. "выгружает старые ненужные данные" - это же просто кэш, для работы с которым уже есть все инструменты. или тут что-то интереснее?)

за то что сразу написали плагин для отладки плюс в карму)

2
Ответить

Спасибо за интересные вопросы.

Чтоб раскрыть тему "чем же так полезна Replica", определенно потребуется целая статья, а то и не одна. Но если вкратце, задача библиотеки - полная автоматизация сетевого взаимодействия. Разработчику больше не нужно думать, в какой момент вызвать тот или иной запрос. Он просто задает настройки: откуда скачивать данные, как быстро данные устаревают, какой размер у кеша и др. Об остальном библиотека заботится сама: запускает и отменяет запросы, удаляет старые данные. И делает это оптимальным образом.

Что касается ваших вопросов

1) Да, Replica это надстройка поверх библиотеки для выполнения сетевых запросов. Причем, это может быть хоть Retrofit, хоть Ktor, хоть Apollo GraphQL. Ограничений нет.

2) и 3) Отмена сетевого запроса и LRU-кеш это частные случаи. Для таких отдельных задач в Android-сообществе есть решения. А вот комплексного решения (такого как Replica) для широкого спектра задач я не встречал.

2
Ответить