Пейджинг, ещёкалка и бесконечный скрол

Три способа постраничной навигации по данным, и как их использовать.

Когда программа показывает пользователю много данных (товаров, клиентов, результатов поиска), загружать их все сразу бывает слишком накладно. Поэтому используют постраничную загрузку в одной из трёх разновидностей:

  • Пейджинг. Разбить набор данных на страницы, присвоить каждой номер, показать номера пользователю. Пользователь может перейти к любой странице.
    Пейджинг
  • Ещёкалка. Показывать следующую страницу по кнопке «загрузить ещё». Пользователь может перейти только к следующей странице; перейти к произвольной не получится.
    Ещёкалка
  • Бесконечный скрол. Автоматическая ещёкалка: следующая страница загружается не по кнопке, а по факту докручивания до конца предыдущей страницы.
    Бесконечный скрол

«Контур.Гайды» отлично написали, как должен работать каждый вариант, чтобы человеку было удобно. Но остаётся вопрос — какой способ навигации выбрать. Мне нравится такое правило:

Всегда использовать бесконечный скрол, если умеешь его готовить.

«Умеешь готовить» — значит:

  • данные подгружаются быстро, человеку не придётся часто видеть индикатор загрузки;
  • работает поиск (обязательно) и фильтрация (по вкусу);

И ещё:

  • программа всегда грузит на одну одну страницу вперёд (некоторые люди наловчились очень быстро прокручивать вниз);
  • программа запоминает текущую позицию списка;
  • при возврате к списку на 100500 элементе программа не грузит всё с начала, а быстро загружает и показывает интервал (100500-N/2, 100500+N/2), где N — размер страницы.

В остальном «Контур.Гайды» всё сказали:

Заметка из телеграм-канала «Интерфейсы без шелухи»