jQuery Mobile - все страницы в index.html и отдельные внешние страницы - что дает лучшую производительность? - PullRequest
24 голосов
/ 07 мая 2011

Структура страницы «jQuery Mobile» оптимизирована для поддержки отдельных страниц или локальных внутренних связанных «страниц» внутри страницы ». jQuery docs

Что дает лучшую производительность для приложения jQuery Mobile, которое работает на PhoneGap?

  • все страницы в одном файле .html и внутренняя загрузка
  • отдельные страницы с внешними ссылками

Есть ли еще какие-то аспекты для рассмотрения?

Ответы [ 3 ]

23 голосов
/ 07 мая 2011

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

Я думаю, что это сводится к следующему: одна страница с большим количеством контента может замедлить первоначальную загрузку, но будет загружаться быстрее, тогда как крошечная домашняя страница будет быстрой с самого начала, связанная страница buteach вызовет запрос Ajax. При разработке дизайна для мобильных устройств мое эмпирическое правило заключается в том, чтобы как можно меньше сводить запросы http Хотя многие пользователи находятся в сетях 3+ G, в зависимости от возможности подключения это может быть ожидание. Кроме того, подключение может измениться в мгновенно , и если пользователь успешно перемещался по сайту, и все внезапные вещи замедляются до ползания, это может вызвать некоторое разочарование. Поэтому, я думаю, из опыта пользователя POV, пользователи готовы подождать несколько лишних тактов при начальной загрузке, если все остальное быстро после загрузки.

Проектирование всего на одной странице также хорошо для разработки с jQM, imo, потому что я просто создаю манифест кеша, который включает в себя только одну страницу (и файлы css и js). Тогда мой сайт кэшируется и работает, даже если у пользователя нет подключения. Если вы работали с applicationCache, вы быстро понимаете, что чем больше у вас файлов, тем сложнее поддерживать манифест кэша, а обновления происходят медленнее.

10 голосов
/ 09 мая 2011

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

Также - многостраничный режим не может быть использован, если вы хотите придерживаться progressive enhancement, что является философией развития JQM.

Любые другие аспекты, чтобы рассмотреть?

Да ... Насколько я знаю, все еще могут быть некоторые проблемы (например, с диалоговыми окнами) в многостраничных документах.JQMalpha3 не хотел отображать для меня диалоги, если в многостраничной структуре их было больше одного.

0 голосов
/ 22 августа 2011

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

...