Отображение большого количества данных

Каковы общие рекомендации по отображению большого объема данных в пользовательском интерфейсе?

Один из подходов пришел мне на ум - сначала загрузить несколько записей, а затем на основе пользовательского ввода загрузить последующие записи.

Есть ли ресурсы, где я могу учиться? Это разработано в Java (как серверная часть, так и клиент).

4 ответа

Используйте нумерацию страниц...

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

Мое руководство: иди "JViewPort" и начинай оттуда. Этот класс специально разработан для больших объемов данных.

Он предоставляет абстракции для разграничения между данными, которые можно "просматривать", и данными, которые "не требуются" прямо сейчас.

Отправка только того, что требует клиент, всегда хорошая идея.

Одна общая идея состоит в том, чтобы использовать DTO - объекты передачи данных, которые содержат только данные, используемые клиентом / окном просмотра - вы можете конвертировать ваши реальные объекты в эти DTO как для скорости, так и для безопасности.

Попробуйте отправить клиенту как можно меньше данных, учитывая, что вы можете вызвать огромные задержки и "медленные всплывающие окна" в браузере, если отправляете большой объем данных.

Хороший подход заключается в разбивке на страницы данных, которые вы хотите показать. Так, например, вы бы показывали фиксированный объем данных, а затем, когда пользователь прокручивает или нажимает кнопку, он получает с сервера следующий набор данных для отображения.

Чистая Java не написана для клиентской стороны, хотя существуют платформы, такие как GWT, которые позволят вам писать Java для клиентской стороны, однако код Java на стороне клиента будет преобразован в JavaScript во время компиляции.

Наконец, должны быть доступны подходы разбиения на страницы, чтобы обеспечить лучший пользовательский опыт в профессиональных структурах пользовательского интерфейса.

Другие вопросы по тегам