Где правильнее обрабатывать данные - на сервере или у клиента?

Рейтинг: 1Ответов: 3Опубликовано: 26.10.2014

Здравствуйте.
Есть онлайн-магазин с товарами (около 200).
Сейчас они всё отображаются на одной странице в виде блоков.
Подскажите, пожалуйста, как будет правильнее разбить эти данные на страницы и категории. У меня есть два варианта:
1. Генерировать сразу весь список в скрытом виде, при загрузке страницы на js (jQuery) отображаться постранично, то есть при выборе страницы будет скрываться одна часть товара и показываться другая, и с категориями так же.
2. Сразу отображается только первая страница, и при нажатии на вторую через Ajax подгружается вторая и т.д. С категориями сделать так же через Ajax.

В первом варианте, я так понимаю, будет открываться страница дольше, но при выборе категории или страницы всё будет происходить быстрее.
Во втором варианте будет открываться быстрее, но при переходе по страницам или выборе категории будет задержка.

Подскажите, как будет правильнее сделать и почему.

Ответы

▲ 2Принят

Если у вас 200 товаров - лучше загружать все сразу и скрывать. Передавайте их json-м, тогда они будут быстро грузится. Второй вариант лучше использовать, если у вас будет много товаров (>1000).

▲ 2

Вариант 2а - частичная предзагрузка.

Товары загружаются с сервера в JSON - только данные о товарах, разметка генерится на клиенте.

При загрузке сайта в страницу включены данные только о товарах для первой страницы.

По окончании рендеринга, сразу, не дожидаясь клика, загружать JSON данные для 2-й (и 3-й, и +10 — выберите нужное) страницы. Так что, когда кликнут след. страницу, останется только отрендерить её разметку.

Ну и так далее — всегда иметь данные как минимум для тех страниц, на которые можно кликнуть с текущей.

▲ 1

имхо 2 вариант лучше. Немного инфы для Вас - http://habrahabr.ru/post/169955/