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