Обновление Paginator с 3.x до 8.x

Эта статья — про то, что реально изменилось, и в каком порядке я бы рекомендовал это трогать. Основано на диффе между (3.3.0) и (8.6.2).

https://habr.com/ru/articles/1030758/

#paging #kmp #paging_library #paginator

Обновление Paginator с 3.x до 8.x

Если вы сидели на Paginator 3.3.0 и решили сразу прыгнуть на актуальную 8.6.2 — это не совсем «обновление», а скорее миграция на, по сути, другую библиотеку. Концепции те же (page state, закладки,...

Хабр

Paging 3 хорош. Пока вам не понадобится что-то ещё

Если коротко: пагинация — это когда вы не грузите 100 000 товаров из каталога одним запросом, а показываете их страницами по 20–50 штук и подгружаете следующую порцию, когда пользователь домотал до конца. Звучит как задача на полдня. На практике — по-разному. Я пишу мобильные приложения уже давно, и каждый раз, когда в новом проекте появлялась пагинация, рядом с ней через месяц-другой появлялся один и тот же набор багов и ad-hoc-решений. Флаги isLoadingNextPage , isLoadingPrevious , isRefreshing , isEmpty , hasError , hasNextPage . Попытки «просто заменить элемент без перезагрузки страницы». Восстановление позиции после убийства процесса. Прыжок на конкретную страницу по deeplink. На Android есть Jetpack Paging 3, и его берут по умолчанию. Но как только вы выходите за рамки «загрузи следующие 20 элементов на скролле вниз» — начинается интересное. А если ваш проект — Kotlin Multiplatform, то Paging 3 вообще не ваш вариант: это Android-библиотека, она не едет на iOS. Я расскажу про опенсорсную библиотеку Paginator , которую делаю последние несколько лет. Она работает одинаково на Android, JVM и iOS из одного commonMain , закрывает сложные сценарии из коробки — и даже на самой обычной ленте настраивается короче, чем Paging 3. Это не поход против Paging 3 и не попытка что-то кому-то доказать. Это просто описание того, что есть другой инструмент, и он делает то же самое компактнее.

https://habr.com/ru/articles/1027320/

#paging #paging_library #paging3 #paginator #kmp #android #kotlin

Paging 3 хорош. Пока вам не понадобится что-то ещё

Вступление, которое можно пропустить, если вы уже делали пагинацию Если коротко: пагинация — это когда вы не грузите 100 000 товаров из каталога одним запросом, а показываете их страницами по 20–50...

Хабр