
19.07.2011, 16:50
|
Кандидат Javascript-наук
|
|
Регистрация: 29.06.2009
Сообщений: 111
|
|
Предзагруза всего сайта
Хочу поэкспериментировать с WebWorker и WebStorage. Рассмотреть такую задачу: У нас есть сайт - визитная карточка какой-то компании или даже портфолио веб разработчика\дизайнера с 10-20 страниц, но не форум так как там критична нагрузка на сервер\канал. Скажем этот сайт уже написан, он содержит статические ссылки на страницы, по которым ходят пользователи и боты.
Но вот, что можно сделать, что бы это всё дело оживить, всё таки для таких сайтов главное впечатление, которое они производят: Если в браузере поддерживаются ВебВоркеры то после загрузки страницы можно создать отдельный поток и начать туда подгружать одну страницу за другой незаметно для пользователя. Можно сортировать загрузку по актуальности. Когда страница загружена меняем ссылку на нее в теле документа на скрипт, который заменит тело на тело страницы. А если браузер еще и Web Storage поддерживает то можно копировать туда страницы на случай если пользователь перейдет на страницу которая еще не загрузилась и вся наша работа пропадет, а так мы сможем продолжить с места на котором остановились. Правда в WebStorage лимит занимаемого места не так велик, но в принципе ведь нужно только текст хранить, а картинки и прочая статика и так будет кешироваться.
Насколько это трезвая идея? Стоит ли применять в реальных проектах?
Последний раз редактировалось JAre, 19.07.2011 в 16:53.
|
|

19.07.2011, 17:15
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
А нафига мне скачивать весь сайт, если я не буду его весь смотреть?
|
|

19.07.2011, 17:32
|
Кандидат Javascript-наук
|
|
Регистрация: 29.06.2009
Сообщений: 111
|
|
Пользователь и не узнает, что он скачал весь сайт. Он только заметит, что загрузка на этом сайте мгновенная и это очень круто, никто не любит загрузки. Вы просто смотрите на это дело с точки зрения разработчика, а не рядового пользователя  Реально разница для посетителя будет заметна только если он на диалапе и при этом пытается еще, что то делать пока ваш сайт грузится - маловероятная ситуация в наши дни. Опять же это влияет только на область применения. С другой стороны когда человек читает что-то на сайте его канал никак не используется, для того, что бы улучшить его впечатление от этого сайта. Почему?
Последний раз редактировалось JAre, 19.07.2011 в 17:34.
|
|

19.07.2011, 17:35
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Я как раз сужу с точки зрения пользователя. Если я зашёл на сайт через мобильный интернет, мне будет крайне неприятно, что помимо моей воли что-то там качается.
Сообщение от JAre
|
Почему бы не использовать его?
|
Потому что это мой канал, и я решаю, использовать его или нет.
|
|

19.07.2011, 17:43
|
Кандидат Javascript-наук
|
|
Регистрация: 29.06.2009
Сообщений: 111
|
|
Сообщение от Kolyaj
|
Потому что это мой канал, и я решаю, использовать его или нет.
|
Это просто означает, что хорошим тоном будет спросить пользователя не против ли он. Потому, что 99% посетителей будут только рады. Опять же смотря какой это сайт, если сайт школы то да - нужно спрашивать. Если сайт, скажем, Роллекса, то вполне можно предположить, что посетитель не против. Разве перед загрузкой каждого флеш ролика выскакивает сообщение "Я очень тяжелый! Хочешь загрузить меня?" Да, что там флеш, вон одно изображение может весить 10 метров, а мы говорим о тексте, в зависимости от сайта это может быть мизерное значение. За то какое влияние на юзерэкспириенс. Уже 2011 год на дворе, почти у всех быстрый и дешевый интернет. А для мобильных устройств существуют мобильные версии сайта. Здесь скорей проблема с медленным хостингом - который может убить все позитивное впечатление от посещения сайта. А так мы можем выжать все соки даже из дешевого хоста и сайт будет конфеткой. Всегда важно найти золотую середину. Например, можно вообще не загружать картинки тяжелее 100к таким образом. просто подставлять вместо них плэйсхолдер с анимацией аякс загрузки. Это сократит трафик в 100 раз, если не в овер 9000 
Последний раз редактировалось JAre, 19.07.2011 в 17:49.
|
|

19.07.2011, 17:52
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от JAre
|
Уже 2011 год на дворе, почти у всех быстрый и дешевый интернет.
|
Ключевое слово почти. Гики вообще странный народ, живут в своём мирке, не оглядываясь вокруг. Рассказываю: на дворе 2011 год, засилье мобильного интернета, куча айфонов/андроидов, для которых не нужна мобильная версия. И как же бесит, когда страница несколько минут не может загрузиться по EDGE.
Оптимизируйте сайт, чтобы он был лёгким и быстрым и он будет мгновенно открываться.
|
|

19.07.2011, 18:02
|
Кандидат Javascript-наук
|
|
Регистрация: 29.06.2009
Сообщений: 111
|
|
Проблема в том, что на любом хосте есть минимальная внутренняя задержка + инициализация среды перед запуском сайта + пинг + работа шаблонов на сервере. А потом еще загрузка всех ресурсов браузером, парсинг html. А так мы можем иметь все нужные данные в ДОМ страницы и нужно будет только свапнуть пару веток и готово. Даже если пользователь прождет 1 секунду это все равно не сравнимо с тем когда ему вообще не нужно ждать. В добавок все глубокие оптимизации и дорогой хостинг стоят больших денег, а эта технология почти бесплатна, потому, что строится поверх уже существующей инфраструктуры. Тем более что жесткая оптимизация по скорости означает пц по объёму. Те же шаблоны требуют времени, их тогда то же можно выбросить и хранить каждую страницу целиком. Но это же какой гемор на крупных проектах будет? А фурмы и их базы данных? то же в говтовом виде хранить?
Возможно для айпадов и не нужен спец сайт - отя возможность использовать мультитачскрин может как раз таки и стать причиной создание сайта с расширенным функционалом специально для этой платформы. Но вот для айфонов это очень даже необходимо тот же Sencha Touch и jquery mobile не идиоты делают.
Последний раз редактировалось JAre, 19.07.2011 в 18:05.
|
|

19.07.2011, 18:14
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от JAre
|
Но вот для айфонов это очень даже необходимо тот же Sencha Touch и jquery mobile не идиоты делают.
|
Sencha Touch и jQuery mobile из другой оперы. Они про веб приложения, а не про обычные сайты.
Ну смотри: сначала нужно будет сделать базовую функциональность, описанную в первом посте (предзагрузка, переключение контента), потом решить проблемы, стандартные для всех ajax-сайтов (ссылка на страницу, переход по истории). На выходе получится увеличение суммарного объёма сайта (за счёт скриптов) и увеличение глючности, т.к. все программы не идеальны, и чем их больше, тем больше глюков. И всё ради чего? Ради потенциального ускорения загрузки страницы на пару миллисекунд?
Потенциального ускорения -- потому что ускорение будет не во всех случаях.
|
|

19.07.2011, 18:24
|
Кандидат Javascript-наук
|
|
Регистрация: 29.06.2009
Сообщений: 111
|
|
В итоге мы имеем:
Да. Все зависит от поставленной задачи. На очень хорошем дорогом хосте это может и не дать ощутимого результата. На дешевом(бесплатном) хосте с плохо оптимизированным сайтом - даст, возможно даже разница будет 5-10 секунд. В среднем, пожалуй, 1-2. И это решение легко перенести с одного проекта на другой. То есть вполне можно написать библиотеку с подобным функционалом. Она будет делать косметический ремонт не очень хорошего сайта. Дешево и сердито! И да - некоторым пользователям это совсем не понравится так, что в зависимости от ситуации имеет смысл спрашивать разрешения.
|
|

19.07.2011, 18:28
|
Кандидат Javascript-наук
|
|
Регистрация: 29.06.2009
Сообщений: 111
|
|
Насчет мобильный устройств не всё так прозрачно и понятно. С одной стороны не у многих безлимитный интернет, но с другой - у многих он медленный и такая оптимизация сильно сократит время загрузки страниц сайта. Возможно даже мобильные устройства подходят идеально для такой оптимизации. Так как 99% контента текст, его не очень много и он может вполне влесть в 5мб лимит сторэйджа + есть проблема со скоростью загрузки даже на очень дорогом хосте, сумарная нагрузка на который настолько не велика, что ее увеличении от полного кеширования мобильного сайта то же не будет критично. Но, конечно, нужно спрашивать разрешения.
Последний раз редактировалось JAre, 19.07.2011 в 18:36.
|
|
|
|