У меня есть вопрос по отображению большого и большого количества данных.
Я использую таблицы угловых материалов. И я уже знаю, что для отображения множества строк требуется время. Стандартное решение этой проблемы - пейджинг. Таким образом, вопрос в том, кто должен выполнять пейджинг, фронтенд или бэкэнд?
Интерфейс
Полный набор результатов отправляется во фронтэнд и помещается в MatTableDataSource
, таким образом, интерфейс сохраняет все данные иможет отображать любой его фрагмент без дальнейших запросов к бэкэнду.
Преимущества:
- Одиночный запрос http
- без задержек во времяпереключение страниц
Недостатки :
- первый запрос http увеличил задержку из-за размера ответа
Backend
Интерфейс должен решить, какой чанк отображать (размер страницы и -index), и запросить только этот чанк из бэкэнда.
Преимущества :
- нет необходимости во внешнем интерфейсе хранить много данных в памяти
Недостатки :
- много запросов
- задержка при переключении страниц
Есть ли рекомендации порешение самое лучшее?