Jquery нумерация страниц, поиск, фильтрация и другие функции на сайтах Google App Engine - PullRequest
0 голосов
/ 31 марта 2011

Допустим, у вас есть веб-страница со списком около 500 книг (свойства: изображение обложки, заголовки, авторы, резюме и т. Д.), И вы хотите разбить их на страницы. Одним из способов будет использование параметров limit и offset, а другим - использование курсоров. Для каждой последующей страницы будет получен следующий пакет. Но что, если вы просто извлекли все книги, быстро кэшировали весь список, использовали классы, чтобы скрыть книги, принадлежащие другим страницам, а затем использовали jquery для разбивки на страницы? Разве это не было бы быстрее и менее требовательным к квотам, чем методы limit + offset или cursor?

Это также может работать для пользователей, не поддерживающих JavaScript, просто установив соответствующий класс скрытия для книг, принадлежащих другим страницам. Это может быть медленнее для них (хотя memcache может помочь с этим), но не разумно ли предполагать, что у большинства современных пользователей включен javascript?

Затем я мог бы добавить дополнительные функции jquery на страницу, такие как поиск jquery (удобно, так как механизм приложений не может выполнять полнотекстовый поиск), фильтрацию, загрузку и т. Д.

Кажется, намного лучше, но есть ли недостатки? Почему не все делают это, учитывая, что jquery довольно легко изучить? В других статьях stackoverflow, о разбивке по страницам ядра приложения, никто даже не упоминает jquery.

Ответы [ 2 ]

1 голос
/ 01 апреля 2011

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

Это будет менее эффективно, поскольку стоимость загрузки 500 результатов лишь незначительно ниже стоимости загрузки, скажем, 20 результатов в 25 раз.

1 голос
/ 31 марта 2011

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

Если вы решите использовать более традиционный подход к подкачке страниц, сэкономьте огромное количество времени и используйте класс Ben Davies 'PagedQuery (если вы используете Python).Он уже оптимизирован для кэширования и ответственного использования квот.

...