Массив JS или скрытые div для хранения вопросов / карточек? - PullRequest
1 голос
/ 24 ноября 2011

Я делаю сайт, который отображает вопросы / карточки. Сначала я загружаю набор карточек с сервера (изначально я думал о загрузке каждой карточки отдельно, но для этого требуется слишком много запросов MySQL), а затем пользователь может просматривать их один за другим. Там может быть, например, 30 или даже 300 карточек. Я загружаю их в отдельный div и с помощью css display я отображаю только первый из стека, тогда как другие карточки скрыты. Затем можно переместить флэш-карту до конца или удалить из стека с помощью jQuery. Интересно, лучше ли вместо этого хранить карточки в массиве javascript, а затем, например, печатать первый элемент массива, который будет содержать первую карточку? Какую практику вы найдете лучше / быстрее? Или они оба одинаково хороши?

1 Ответ

0 голосов
/ 25 ноября 2011

В конечном счете, вам придется сравнивать различные подходы, чтобы сказать наверняка, потому что есть ряд переменных, которые могут иметь трудно предсказуемые эффекты.И в зависимости от ситуации это может не стоить хлопот.Вот некоторые основные соображения:

  • Если не существует верхнего предела для количества карт памяти, которые вы, возможно, должны поддерживать, рассмотрите возможность использования AJAX-loading-one-at-a-время подход.Проблема слишком большого количества запросов MySQL на бэкэнде может быть чем-то, что можно исправить с помощью настройки MySQL или кэширования результатов на бэкенде.

  • Если вы нацеливаетесь на определенное устройство или ОСили браузер, затем проверьте производительность на этом устройстве или ОС или браузере.Мобильный телефон может плохо работать с большим массивом JavaScript и множеством манипуляций с DOM, или решения, не поддерживающие AJAX, могут загружаться слишком медленно по сети, или, если есть изображения и тому подобное, вы можете столкнуться с ограничением размера документа,например.Я делаю это, хотя.Вам нужно было бы на самом деле проверить.

  • Если существует известный верхний предел для количества флэш-карт, и он достаточно мал, то загрузите все сразуметоды, которые вы рассматриваете, могут быть более привлекательными.Однажды я сделал глупое приложение для викторины с 10 вопросами и не стал использовать AJAX, потому что размер теста был очень мал.(Я написал это так, что мог бы легко использовать AJAX-y подход, если требования там изменятся, но они никогда не менялись.)

  • Рассмотрите реальную возможность того, что это не имеет значения- разница в производительности будет настолько мала, что вам следует просто делать то, что будет работать для вас.Это не тот случай, если сайт должен масштабироваться до миллиона пользователей одновременно.Но если это для одного класса из 15 человек или что-то, ну, вы можете не захотеть тратить много времени на сравнительный анализ.(Полагаю, это самый близкий к фактическому ответу на конкретный вопрос, который вы задаете.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...