[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Есть ли хоть одна причина не писать сайт на Ajax?
Revan
Доброе утро, коллеги!
В просторах интернета, часто приходилось натыкаться на статьи, где авторы говорили, что лучше не использовать аякс на сайте для навигации, его можно использовать либо только для приложений, либо мелкие функции для сайта доделывать. Почему?
Я не увидел пока ни единой причины отказываться от навигации на аяксе. Сильно увеличивается скорость, производительность, появляются дополнительные возможности для пользователя, не нужно постоянно грузить javascript'ы, стили и картинки в дизайн. Почему не рекомендуется писать сайт на аяксе полностью?



Спустя 1 час, 42 минуты, 11 секунд (24.12.2011 - 11:08) redreem написал(а):
незнаю. у меня поисковики прекрасно хавают аяксовые ссылки. может они раньше этого не умели, вот и была такая тема.

Спустя 4 минуты, 36 секунд (24.12.2011 - 11:13) bodja написал(а):
Цитата
Почему не рекомендуется писать сайт на аяксе полностью?

Ну полностью это слишком лихо,по факту вам прийдется весь движок перенести на сторону клиента.
Не будете грузить диз,будете грузить двиг. biggrin.gif
К тому же я не увидел с вашей стороны ,раскрытым вопрос, о достижении многопоточности
на аяксе.

Спустя 41 минута, 41 секунда (24.12.2011 - 11:54) Revan написал(а):
Зачем переносить весь движок на сторону клиента, что за чушь? Алгоритм прост: по нажатии на ссылку - отправляем запрос на сервер, сервер возвращает сгенерированную страницу без главного шаблона, которую мы ставим в блок для подргузки. Всё. То же самое, что полная перезагрузка страницы, только без неё.
Что вы имеете ввиду под многопоточностью?

Спустя 16 минут, 5 секунд (24.12.2011 - 12:11) Michael написал(а):
1) Какие у тебя будут ссылки на текущую страницу(которую например в закладки поместить) - с якорями?
2) Кнопки "назад"/"вперед" в браузере - работают ок ?

Спустя 21 минута, 41 секунда (24.12.2011 - 12:32) Revan написал(а):
Цитата
1) Какие у тебя будут ссылки на текущую страницу(которую например в закладки поместить) - с якорями?
2) Кнопки "назад"/"вперед" в браузере - работают ок ?


1. Да, с якорями, следующего вида: http://site.com/#url=/news/. После ввода в браузер такой ссылки, или обновления страницы, пользователя незаметно перенаправит с помощью JS на http://site.com/news/ - а по этому адресу будет отображаться полная страница (специально для поисковиков, у которых проблемы с аяксом).
2. Проблему с этими кнопками легко решает hashchange в jQuery работающий во всех браузерах.

Все существующие проблемы легко решаются. Навигация, поисковики и т. д.

Спустя 6 минут, 31 секунда (24.12.2011 - 12:39) Revan написал(а):
Все ссылки имеют такой вид:

<a href="/news/" class="ajaxLoad">Новости</a>


jQuery ловит нажатие ajaxLoad, и вместо реальной страницы, подгружает аякс, переводя пользователя через windows.location на /#url=/news/.

Спустя 1 час, 7 минут, 5 секунд (24.12.2011 - 13:46) bodja написал(а):
Цитата (Revan @ 24.12.2011 - 08:54)
Алгоритм прост: по нажатии на ссылку - отправляем запрос на сервер, сервер возвращает сгенерированную страницу без главного шаблона,

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

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

Спустя 6 минут, 18 секунд (24.12.2011 - 13:52) Guest написал(а):
Цитата (Revan @ 24.12.2011 - 08:54)
Зачем переносить весь движок на сторону клиента, что за чушь? Алгоритм прост: по нажатии на ссылку - отправляем запрос на сервер, сервер возвращает сгенерированную страницу без главного шаблона, которую мы ставим в блок для подргузки. Всё. То же самое, что полная перезагрузка страницы, только без неё.
Что вы имеете ввиду под многопоточностью?

Эта "чушь" называется рич клиентом, для того и сделаны шаблонизаторы на JS, что бы перенести на клиента основную нагрузку по "рисованию" GUI. В этом случае сервер только работает как БД и хранит шаблоны для GUI JS.

Спустя 16 минут, 18 секунд (24.12.2011 - 14:08) Revan написал(а):
Цитата (bodja @ 24.12.2011 - 10:46)
Цитата (Revan @ 24.12.2011 - 08:54)
Алгоритм прост: по нажатии на ссылку - отправляем запрос на сервер, сервер возвращает сгенерированную страницу без главного шаблона,

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

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

С поисковиками все просто:
Если мы посылаем к примеру на страницу "/news/" ajax запрос, то передаем так же GET параметр "ajaxLoaded", и если этот параметр есть, то отдаем страницу без основного шаблона (без шапки, метатегов и т. д. только контент), если параметр не передавали, отдаем полную страницу со своими заголовками (используется система MVC, и все заголовки передаются контроллером шаблону). Это избавит от всех проблем: перезагрузка страницы пользователем, закладки, поисковики и т. д.
Ноль проблем, одни только плюсы smile.gif

Спустя 2 минуты, 19 секунд (24.12.2011 - 14:11) Revan написал(а):
Цитата
Эта "чушь" называется рич клиентом, для того и сделаны шаблонизаторы на JS, что бы перенести на клиента основную нагрузку по "рисованию" GUI. В этом случае сервер только работает как БД и хранит шаблоны для GUI JS.

По-моему это не слишком продуктивный метод, думаю проще всё делать на сервере, а клиенту отдавать уже сгенерированную страницу)

Спустя 2 минуты, 33 секунды (24.12.2011 - 14:13) Revan написал(а):
Кстати, когда страница перезагружается, это все равно заметно, как визуально, так и по времени. Ajax гораздо быстрее

Спустя 22 минуты, 54 секунды (24.12.2011 - 14:36) Guest написал(а):
Цитата (Revan @ 24.12.2011 - 11:11)
Цитата
Эта "чушь" называется рич клиентом, для того и сделаны шаблонизаторы на JS, что бы перенести на клиента основную нагрузку по "рисованию" GUI. В этом случае сервер только работает как БД и хранит шаблоны для GUI JS.

По-моему это не слишком продуктивный метод, думаю проще всё делать на сервере, а клиенту отдавать уже сгенерированную страницу)

С внедряемыми технологиями вроде "Greasemonkey" - это выход на новый уровень, как раз, при всём том что уже с html5 уже входит многопоточность. Если выйдет ещё и переработанный JS2 пиши что сервер будет как раз то и "тонким".

Спустя 1 минута, 58 секунд (24.12.2011 - 14:38) Guest написал(а):
Цитата (Revan @ 24.12.2011 - 11:13)
Кстати, когда страница перезагружается, это все равно заметно, как визуально, так и по времени. Ajax гораздо быстрее

Ajax всего лишь технология передачи данных, здесь было бы уместней сравнивать передачи данных в виде html кода уже сгенерированного на сервере и допустим JSON формата. Конечно выигрывает последний с шаблонизацией на клиенте.

Спустя 3 минуты, 26 секунд (24.12.2011 - 14:42) inpost написал(а):
Revan
Есть несколько причин:
- Старые поисковики ещё адекватно не научились ловить ссылки с Аякса, хотя гугл и яндекс писали, что уже научились (статья могла быть старой).
- Тяжело дать ссылку на нужный раздел. Решетка визуально не воспринимается как указатель к разделу, и часто даже не запоминается.
- Дом дерево не перестраивается, в связи с чем проблемы некоторые возникают. Часть дерева придется вручную создавать.
- Необходимо будет подгрузить почти все JS скрипты, хотя обычно они распределяются равномерно между страницами, чтобы не нагружать.
- Не видно самой загрузки, нельзя будет нажать Ф5, чтобы адекватно обновить страницу.
- Защиту придется делать сразу и на JS, а на стороне сервера.
- С якорями тоже выше написали, что будут проблемы.
- Подгрузка страницы будет не очень удобная. Проще наблюдать, когда страница стала белой, а потом новая открылась, чем ждать, пока кружечек прокрутится. Визуальнее привычнее.

При правильной подгрузке, скорости очевидной ты не заметишь, лишь статичная навигация и баннер будут перезагружаться, которые итак содержатся на стороне клиента(!). Так что тут выиграл ты лишь пару доли секунд.

А в целом, попробуй сам, чтобы испытать на себе все плюсы и минусы.

Спустя 16 минут, 19 секунд (24.12.2011 - 14:58) caballero написал(а):
еще добавлю немаловажный пункт - раза в полтора два большая трудоемкость разработки и отладки страницы с аякс.
особенно важно когда делаешь сайт не для развлечения а для заказчика и существуют реальный сроки выполнения.
Лично я не вижу смысла применения аякса кроме как мелкие удобства типа автокомплита или рефреша капчи. То есть фич не связанный с бизнес логикой и никак не страдающих от навигации и прочих действий пользователя на странице


Цитата
Эта "чушь" называется рич клиентом

Понятие Rich клиента никак не связано с технологией изготовления оного.




Спустя 10 минут, 53 секунды (24.12.2011 - 15:09) Revan написал(а):
- Старые поисковики ещё адекватно не научились ловить ссылки с Аякса, хотя гугл и яндекс писали, что уже научились (статья могла быть старой).
Об этом я писал выше: поисковикам можно отдавать ссылки на обычные страницы, а пользователи будут подгружать эти страницы через JS

- Тяжело дать ссылку на нужный раздел. Решетка визуально не воспринимается как указатель к разделу, и часто даже не запоминается.
Тоже писал выше, должно быть две версии страниц: страницы для пользователя без JS (без аякса), и для пользователя с JS (подгружаемые аяксом).

- Дом дерево не перестраивается, в связи с чем проблемы некоторые возникают. Часть дерева придется вручную создавать.
У меня пока с этим проблем не возникало...

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

- Не видно самой загрузки, нельзя будет нажать Ф5, чтобы адекватно обновить страницу.
Это вообще не проблема, по нажатию на ссылку, можно поставить загрузчик, и отключить, как только контент будет загружен.

- Защиту придется делать сразу и на JS, а на стороне сервера.
А зачем с защитой что-то делать? Пусть все работает так же, как и в чистой html версии, какая разница, от чего поступают данные на сервер?

- С якорями тоже выше написали, что будут проблемы.
Выше написал, почему проблем с якорями не будет.

- Подгрузка страницы будет не очень удобная. Проще наблюдать, когда страница стала белой, а потом новая открылась, чем ждать, пока кружечек прокрутится. Визуальнее привычнее.
Но она будет быстрее в несколько раз.

Цитата
При правильной подгрузке, скорости очевидной ты не заметишь, лишь статичная навигация и баннер будут перезагружаться, которые итак содержатся на стороне клиента(!). Так что тут выиграл ты лишь пару доли секунд.

А в целом, попробуй сам, чтобы испытать на себе все плюсы и минусы.
- Подгрузка страницы будет не очень удобная. Проще наблюдать, когда страница стала белой, а потом новая открылась, чем ждать, пока кружечек прокрутится. Визуальнее привычнее.


Вот пример реализации, и загрузка страницы вполне нормальная, и загружается по сравнению с другими сайтами намного быстрее: http://wicegoal.com

Спустя 7 минут, 8 секунд (24.12.2011 - 15:16) inpost написал(а):
Revan
Вот смысл создавать тему? Ты пишешь, что "проблем не будет" и "проблем не встречал", а ты больше поработай и столкнёшься, потом меня вспоминать будешь... "а он же предупреждал".

А вот загрузка в несколько раз быстрее? Интересненько, сам проводил тесты, что установил, что твоё ядро работает в 3 раза дольше, чем контроллер? Кстати, обращаясь к контроллеру аяксом, всё равно почти всё ядро будет подключено итак, на каком уровне ты видишь увеличение? Я уже сказал, разница лишь в шаблоне, а шаблон кешируется на стороне клиента, поэтому его скорость загрузки минимальна. 90-95% нагрузки лежит на контроллерах, на центральной части, которую ты будешь перегружать. Итого, ты будешь делать сайт в 1,5-2 раза дольше, а выиграешь прирост производительности на 5-10% максимум.

Спустя 1 минута, 17 секунд (24.12.2011 - 15:17) caballero написал(а):
Цитата
должно быть две версии страниц: страницы для пользователя без JS (без аякса), и для пользователя с JS (подгружаемые аяксом).

Что и следовало доказать - двойной объем работы.

Цитата
Вот пример реализации, и загрузка страницы вполне нормальная, и загружается по сравнению с другими сайтами намного быстрее: http://wicegoal.com

Так и недождался загрузки сего творения.


Скажем так - нет ни единой причины писать сайт на аяксе кроме того что это модно. Завтра примеру придет мода на вебсокеты и аякс пойдет фтопку.

Спустя 11 минут, 32 секунды (24.12.2011 - 15:29) Revan написал(а):
Цитата
Вот смысл создавать тему? Ты пишешь, что "проблем не будет" и "проблем не встречал", а ты больше поработай и столкнёшься, потом меня вспоминать будешь... "а он же предупреждал".

А вот загрузка в несколько раз быстрее? Интересненько, сам проводил тесты, что установил, что твоё ядро работает в 3 раза дольше, чем контроллер? Кстати, обращаясь к контроллеру аяксом, всё равно почти всё ядро будет подключено итак, на каком уровне ты видишь увеличение? Я уже сказал, разница лишь в шаблоне, а шаблон кешируется на стороне клиента, поэтому его скорость загрузки минимальна. 90-95% нагрузки лежит на контроллерах, на центральной части, которую ты будешь перегружать. Итого, ты будешь делать сайт в 1,5-2 раза дольше, а выиграешь прирост производительности на 5-10% максимум.


Тему я создавал для того, чтобы узнать есть ли подводные камни с которыми я могу столкнуться в будущем, извини что я с тобой не согласен smile.gif
Насчет загрузки: проводил исследование визуально, глянув на две разных вкладки браузера, увидел разницу, сделал вывод) я имел ввиду загрузку браузером, а не скорость исполнения скриптов. Загрузка браузером - быстрее.

Цитата
Что и следовало доказать - двойной объем работы.


Какой ещё двойной обьем работы? smile.gif если писать грамотно, то этот "двойной объем" можно сократить лишь до нескольких строчек. Есть контроллер, есть шаблонизатор. При запуске контроллера проверяем, был ли вызван контроллер аяксом, если аяксом, то отдаем страницу без основного шаблона, если нет - выводим все вместе с основным шаблоном (т. е. всю верстку). Где тут двойной объем работы?)

Спустя 1 минута, 34 секунды (24.12.2011 - 15:30) Revan написал(а):
Кстати, у меня творение загружается вполне нормально)

Спустя 11 минут, 9 секунд (24.12.2011 - 15:41) caballero написал(а):
Ну да убрал по быстрому косяк. Теперь конешно загружается.

Спустя 8 минут, 58 секунд (24.12.2011 - 15:50) Revan написал(а):
Цитата
Ну да убрал по быстрому косяк. Теперь конешно загружается.

biggrin.gif во-первых: ниче не убирал, хз чего он не открывался у тебя, а если бы и убрал - что из этого? Ты так написал, будь-то я где-то сжульничал)

Кстати, забыл насчет "модного аякса" ответить: я выбрал его не из-за моды какой-то, или ещё чего там. Ты разве не заметил разницу? Открой два сайта, любой обычный без аякса, и тот что я прислал, и сравни разницу между загрузкой страниц. Мне оно нафик не нужно, по 10 раз переделывать все, но ведь есть смысл. Да и вконтакте с фейсбуком не просто так на аякс перескочили. Одно непонятно - почему так мало сайтов?

Спустя 23 минуты, 58 секунд (24.12.2011 - 16:14) redreem написал(а):
холивар. аякс - инструмент. правильно примени его и получишь эффект. неправильно - получишь проблемы и гемор. весь вопрос только в кривости рук и опилочности мозгов.

Спустя 10 минут, 44 секунды (24.12.2011 - 16:25) Revan написал(а):
Цитата
холивар. аякс - инструмент. правильно примени его и получишь эффект. неправильно - получишь проблемы и гемор. весь вопрос только в кривости рук и опилочности мозгов.

Согласен

Спустя 11 минут (24.12.2011 - 16:36) bodja написал(а):
Цитата
Одно непонятно - почему так мало сайтов?

Когда то функцию innerHTML знал только ИЕ biggrin.gif
Да и вообще,тут народ в основном если пых хорошо знает,мелко плавает в яваскрипте,
если яву знает,мелко плавает в верстке,если верстку знает ,незнает квери или аяксом не курит как рулить ,ну и т.д.

В целом каждому свое ,если не мыргает ,то будет тупить,у меня раздел главной грузился секунд 5.
Пользователи могут не оценить,а на определенные жертвы прийдется пойти.

Спустя 12 минут, 19 секунд (24.12.2011 - 16:48) Revan написал(а):
Цитата
Когда то функцию innerHTML знал только ИЕ 
Да и вообще,тут народ в основном если пых хорошо знает,мелко плавает в яваскрипте,
если яву знает,мелко плавает в верстке,если верстку знает ,незнает квери или аяксом не курит как рулить ,ну и т.д.

В целом каждому свое ,если не мыргает ,то будет тупить,у меня раздел главной грузился секунд 5.
Пользователи могут не оценить,а на определенные жертвы прийдется пойти.


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

Спустя 46 минут, 18 секунд (24.12.2011 - 17:35) bodja написал(а):
Цитата
я можно сказать убедился, и можно смело продолжать использовать выбранный метод


Ну чтож ,дело хозяйское.
Кто то вешает такое

Цитата
<script type="text/javascript" src="/js/jquery.js"></script>

<script type="text/javascript" src="/js/client.js"></script>
<script type="text/javascript" src="/js/jquery.li-scroller.1.0.js"></script>
<script type="text/javascript" src="/js/date.js"></script>
<script type="text/javascript" src="/js/jquery.datePicker.js"></script>
<script type="text/javascript" src="/js/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="/js/jquery.autocomplete.js"></script>
<link rel="stylesheet" media="screen" type="text/css" href="/css/jquery.autocomplete.css" />
<link rel="stylesheet" media="screen" type="text/css" href="/css/cusel.css" />
<link rel="stylesheet" media="screen" type="text/css" href="/css/datePicker.css" />
<script type="text/javascript" src="/js/cusel-min-2.3.1.js"></script>

<link rel="stylesheet" media="screen" type="text/css" href="/css/general.css" />
<link rel="stylesheet" media="screen" type="text/css" href="/css/li-scroller.css" />

<script type="text/javascript" src="/js/jquery.tooltip.min.js"></script>
<script type="text/javascript" src="/js/jquery.bgiframe.js"></script>
<script type="text/javascript" src="/js/jquery.delegate.js"></script>
<script type="text/javascript" src="/js/jquery.dimensions.js"></script>
<script type="text/javascript" src="/js/ajax.js"></script>

<script type="text/javascript" src="/js/jquery.boxy.js"></script>
<script type="text/javascript" src="/js/sound.js"></script>
<script type="text/javascript" src="/js/validator.js"></script>
<script type="text/javascript" src="/js/autoresize.jquery.js"></script>

<script type="text/javascript" src="/js/jquery.mousewheel.js"></script>
<script type="text/javascript" src="/js/jquery.em.js"></script>
<script type="text/javascript" src="/js/jquery.jscrollpane.min.js"></script>
<script type="text/javascript" src="/js/soundmanager2.js"></script>

<script type="text/javascript" src="/js/jquery.ba-hashchange.js"></script>
<script type="text/javascript" src="/js/navigator.js"></script>

<script type="text/javascript" src="/js/jnotifier.jquery.js"></script>


и потом нервно тестирует на скорость wink.gif
а кто то считает ,что только для jquery.js размер в 76килокода - это неприлично много,
три дня пыхтит ,и делает аналог в 1.5кило,и молча улыбается biggrin.gif ,зная ,что никто это не оценит.
Так же и в вашем случае,
да аякс придаст некую изюминку сайту,
но эффекта будет больше, на мой взгляд,если переключитесь на возможности квери в полный рост,тем более ,что вы уже и так навешали ,что только можно.
И есть еще куда расти в этом направлении.

Спустя 43 минуты, 50 секунд (24.12.2011 - 18:19) inpost написал(а):
Revan
Ты не можешь быть со мной несогласным лишь потому, что я рассказал проблемы самого Ajax, если ты достаточно сильный программист, чтобы написать решения проблем, то и проблем, собственно, нет. Если набиваешь руку, то лишние 5-10-15 строк кода пишутся за пару минут, что в общей массе работы сайта - ничтожны.

Не бывает плохих инструментов, бывают люди, которые не умеют ими пользоваться. 3-х кратной скорости ты не получишь, выигрываешь на 20% где-то, но если нравится - используй.

Как выше сказали, скоро веб-соккеты станут популярны, хоть их только сейчас ввели, но их работа потрясающая. Сейчас на них мини-игрушку делаю, очень доволен.

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

Спустя 17 часов, 17 минут, 45 секунд (25.12.2011 - 11:36) Revan написал(а):
Цитата (bodja @ 24.12.2011 - 14:35)
Цитата
я можно сказать убедился, и можно смело продолжать использовать выбранный метод


Ну чтож ,дело хозяйское.
Кто то вешает такое

Цитата
<script type="text/javascript" src="/js/jquery.js"></script>

<script type="text/javascript" src="/js/client.js"></script>
<script type="text/javascript" src="/js/jquery.li-scroller.1.0.js"></script>
<script type="text/javascript" src="/js/date.js"></script>
<script type="text/javascript" src="/js/jquery.datePicker.js"></script>
<script type="text/javascript" src="/js/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="/js/jquery.autocomplete.js"></script>
<link rel="stylesheet" media="screen" type="text/css" href="/css/jquery.autocomplete.css" />
<link rel="stylesheet" media="screen" type="text/css" href="/css/cusel.css" />
<link rel="stylesheet" media="screen" type="text/css" href="/css/datePicker.css" />
<script type="text/javascript" src="/js/cusel-min-2.3.1.js"></script>

<link rel="stylesheet" media="screen" type="text/css" href="/css/general.css" />
<link rel="stylesheet" media="screen" type="text/css" href="/css/li-scroller.css" />

<script type="text/javascript" src="/js/jquery.tooltip.min.js"></script>
<script type="text/javascript" src="/js/jquery.bgiframe.js"></script>
<script type="text/javascript" src="/js/jquery.delegate.js"></script>
<script type="text/javascript" src="/js/jquery.dimensions.js"></script>
<script type="text/javascript" src="/js/ajax.js"></script>

<script type="text/javascript" src="/js/jquery.boxy.js"></script>
<script type="text/javascript" src="/js/sound.js"></script>
<script type="text/javascript" src="/js/validator.js"></script>
<script type="text/javascript" src="/js/autoresize.jquery.js"></script>

<script type="text/javascript" src="/js/jquery.mousewheel.js"></script>
<script type="text/javascript" src="/js/jquery.em.js"></script>
<script type="text/javascript" src="/js/jquery.jscrollpane.min.js"></script>
<script type="text/javascript" src="/js/soundmanager2.js"></script>

<script type="text/javascript" src="/js/jquery.ba-hashchange.js"></script>
<script type="text/javascript" src="/js/navigator.js"></script>

<script type="text/javascript" src="/js/jnotifier.jquery.js"></script>


и потом нервно тестирует на скорость wink.gif
а кто то считает ,что только для jquery.js размер в 76килокода - это неприлично много,
три дня пыхтит ,и делает аналог в 1.5кило,и молча улыбается biggrin.gif ,зная ,что никто это не оценит.
Так же и в вашем случае,
да аякс придаст некую изюминку сайту,
но эффекта будет больше, на мой взгляд,если переключитесь на возможности квери в полный рост,тем более ,что вы уже и так навешали ,что только можно.
И есть еще куда расти в этом направлении.

Всю ту кучу прикрепленных JS, я позже тоже оптимизирую, там половина ненужного, а в html вообще бардак) но все же, поверь, заметят ещё как. Думаешь просто так вконтакте, YouTube, Google (частично) и собственно Facebook перешли на Ajax? Нет конечно, в этом есть смысл. Я например сравнивал свой сайт, и безаяксовые сайты - разница лично для меня очевидна.

P. S. чтобы перевести сайт на ajax, я потратил всего несколько часов, так что ни о каких трёх днях и речи нет) это не так рутинно, как кажется, если изначально создавать нормальную структуру сайта.

Цитата
Ты не можешь быть со мной несогласным лишь потому, что я рассказал проблемы самого Ajax, если ты достаточно сильный программист, чтобы написать решения проблем, то и проблем, собственно, нет. Если набиваешь руку, то лишние 5-10-15 строк кода пишутся за пару минут, что в общей массе работы сайта - ничтожны.

Не бывает плохих инструментов, бывают люди, которые не умеют ими пользоваться. 3-х кратной скорости ты не получишь, выигрываешь на 20% где-то, но если нравится - используй.

Как выше сказали, скоро веб-соккеты станут популярны, хоть их только сейчас ввели, но их работа потрясающая. Сейчас на них мини-игрушку делаю, очень доволен.

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

Не совсем логичное утверждение. Я могу быть с тобой несогласным, ибо я спрашивал есть ли причины не писать сайт на аяксе. Ты мне привел несколько проблем назвав их причинами, но все они легко устраняются, а значит, и причинами не являются. Верно? А вообще, не важно smile.gif

Спустя 18 минут, 27 секунд (25.12.2011 - 11:55) Arni написал(а):
Есть сейчас очень хорошая штука.

window.history.pushState
window.history.replaceState

Смысл в том, что мы вешаем обработчик на тег а, блокируя его работу. Вместо этого парсим ссылку, и подгружаем контент динамически. Есть даже полностью рабочее решение которое позволяет превратить сайт обычный в самый настоящий AJAX не пребегая при этом к коким либо глобальным переработкам.

http://www.kendoui.com/

Мне тоже интересно было что из этого получится и провели испытание, короче вот.

http://delaemtuning.ru/catalog/imported.html

Ну я не берусь доказывать что получилось супер гладко. Но.

1. Поисковые системы загружают каждую страницу обычным способом.
2. Если брауер старый и не понимает этих фишек

window.history.pushState
window.history.replaceState

Он ведет себя как обычно.

Считаю этот вариант достойным внимания в будущих наших разработках.

Спустя 27 минут, 3 секунды (25.12.2011 - 12:22) Revan написал(а):
Arni, да, это вообще хорошая штука, facebook и вконтакте уже её используют, правда работает она пока далеко не во всех браузерах к сожалению. Это собственно и есть аякс, только с возможностью менять адресную строку без перезагрузки. Для современных браузеров pushstate можно сделать, а для старых навигацию через решетку.

Спустя 26 минут, 58 секунд (25.12.2011 - 12:49) Michael написал(а):
Revan, молодец, прохаваный боец smile.gif , на все есть аргументированный ответ, так и надо готовиться к таким общениям, дискутируя с носителями отличных взглядов.

Свернутый текст
caballero, inpost, берите пример wink.gif


Сайт тот порадовал, действительно шустр. Весь js еще оптимизировать и в один файл собрать и ляпота.

А что насчет js-счетчиков типа liveinternet, google_analitics - будут работать?

Спустя 12 минут, 21 секунда (25.12.2011 - 13:01) Arni написал(а):
Michael,


Цитата (Michael @ 25.12.2011 - 09:49)
А что насчет js-счетчиков типа liveinternet, google_analitics - будут работать?


Еси это вопрос мне, то да. Они даже не просекают что сайт аяксный, и ведут себя абсолютно обычно. Грузят всю страницу с потрохами по ссылке.

Цитата (Revan @ 25.12.2011 - 09:22)
Для современных браузеров pushstate можно сделать, а для старых навигацию через решетку.


Знаеш что я тебе скажу? Если у польователя выключен яваскритп, куки, 80 порт закрыт, антивирус режет и фильтрует трафик в параноидальном режими, утановлен виндовс 95, ИЕ6, и нет монитора, то это его проблемы!

Спустя 28 минут, 21 секунда (25.12.2011 - 13:29) Revan написал(а):
Цитата
Revan, молодец, прохаваный боец  , на все есть аргументированный ответ, так и надо готовиться к таким общениям, дискутируя с носителями отличных взглядов.

Сайт тот порадовал, действительно шустр. Весь js еще оптимизировать и в один файл собрать и ляпота.

А что насчет js-счетчиков типа liveinternet, google_analitics - будут работать?

Благодарю smile.gif слава богу хоть кто-то заметил и оценил скорость, а то я уже было подумал, что с ума сошел, раз никто не видит очевидное для меня преимущество в скорости загрузки страниц)
Насчет html: там не только js оптимизировать надо, половина css тоже прямо в html-е находится, да и в PHP есть над чем работать)

Что касается счетчиков, то у меня подключен только Google Analytics, работает нормально, вот только переходы на другие страницы не видит, но мне от этого как-то ни холодно ни жарко, главное знать сколько уникальных посетителей было) поисковики ведь индексируют нормальные ссылки, вместо http://site.com/#url=/news/1/ => http://site.com/news/1/

Цитата
Знаеш что я тебе скажу? Если у польователя выключен яваскритп, куки, 80 порт закрыт, антивирус режет и фильтрует трафик в параноидальном режими, утановлен виндовс 95, ИЕ6, и нет монитора, то это его проблемы!

Я лично тоже за то, чтобы прекратить уже поддержку IE6 да и 7 тоже, но если сайт на заказ, то попробуй объяснить это заказчику, сидящему на IE7) а вообще pushstate даже 10-й оперой не поддерживается, так что пока лучше воспользоваться решеточками в дополнение к pushstate.

Спустя 48 минут, 51 секунда (25.12.2011 - 14:18) SoMeOnE написал(а):
Эта тема меня тоже интересует. Очень нравятся сайты на аякс. Как мне кажется загрузки контента на таких сайтах намного быстрее, чем на обычных.
Тот же gmail, которым пользуется чуть больше пользователей, чем все первый перешел на эту технологию. Что мы видим сейчас. Mail, yandex тоже перешли на такую систему. Не только от того что это модно. С этим действительно приятней работать.

Насчет http://wicegoal.com/ сайта. Тоже отлично работает. Такой сайт приятней просматривать.
Особенно для меня (любителя футбола)...)

Спустя 12 минут, 55 секунд (25.12.2011 - 14:31) sharki написал(а):
Вот например этот сайт http://пба.рф мы реализовали на ajax причем с отловкой ботов, смысл в том, что есили зайдет бот, ему выдается все тот же контент,но в другом представлении, т.е без AJAX.a а для людей у кого не поддерживается пушстэйт, тому дописывается решетка, так же если зашел на сайт с решеткой и с поддержкой пушстэйт, то убирается решетка и исправляется на нормальный адрес smile.gif

Спустя 19 часов, 4 минуты, 51 секунда (26.12.2011 - 09:36) Revan написал(а):
Цитата
Эта тема меня тоже интересует. Очень нравятся сайты на аякс. Как мне кажется загрузки контента на таких сайтах намного быстрее, чем на обычных.
Тот же gmail, которым пользуется чуть больше пользователей, чем все первый перешел на эту технологию. Что мы видим сейчас. Mail, yandex тоже перешли на такую систему. Не только от того что это модно. С этим действительно приятней работать.

Насчет http://wicegoal.com/ сайта. Тоже отлично работает. Такой сайт приятней просматривать.
Особенно для меня (любителя футбола)...)


Конечно быстрее, причем это хорошо заметно, когда вся страница не перезагружается. Учитывая то, что мы имеем все для создания сайтов на аякс, не вижу смысла его игнорировать в навигации.
P. S. не забывай о сайте, там пока куча недоработок, но идея интересная, для нас в скором времени каждый пользователь будет на счету smile.gif

Спустя 19 часов, 14 минут, 44 секунды (27.12.2011 - 04:51) Dagot написал(а):
А почему нельзя тоже самое на пхп сделать?

Спустя 3 часа, 38 минут, 56 секунд (27.12.2011 - 08:30) twin написал(а):
Странно... Как вы скорость меряете. Скорость загрузки важна только первой страницы. Чтобы юзер не плюнул недождавшись и не свалил. Потом она не важна (вернее не важна разница в 1-2 секунды), если контент интересный. К тому же браузеры сейчас очень круто все кэшируют и графика подгружается вовсе не с сайта, если она одна и та же. Часто переходы даже незаметны, особенно в опере. А именно с дополнительными подгрузками и принято бороться аяксом.

Так вот, первая загрузка с аяксом очень сильно проигрывает именно из-за изобилия скриптов. Вы меряете переходы, забывая о главном.

Спустя 1 час, 32 минуты, 2 секунды (27.12.2011 - 10:02) Michael написал(а):
Цитата (Dagot @ 27.12.2011 - 03:51)
А почему нельзя тоже самое на пхп сделать?

что то же самое и где говорилось что что то нельзя?

Цитата (twin)
Так вот, первая загрузка с аяксом очень сильно проигрывает именно из-за изобилия скриптов. Вы меряете переходы, забывая о главном

Так у него контент первой страницы уже готов, а не аяксом дополнительно грузится после загрузки. (вроде бы, ТС не спросишь, его забанили на месяц за что то). А если ты про скрипты только, то они и не такие большие и их в один файл если собрать, то браузер этот один файл быстро и грузанет.

Спустя 6 минут, 42 секунды (27.12.2011 - 10:09) Гость_Revan написал(а):
Цитата
Странно... Как вы скорость меряете. Скорость загрузки важна только первой страницы. Чтобы юзер не плюнул недождавшись и не свалил. Потом она не важна (вернее не важна разница в 1-2 секунды), если контент интересный. К тому же браузеры сейчас очень круто все кэшируют и графика подгружается вовсе не с сайта, если она одна и та же. Часто переходы даже незаметны, особенно в опере. А именно с дополнительными подгрузками и принято бороться аяксом.

Так вот, первая загрузка с аяксом очень сильно проигрывает именно из-за изобилия скриптов. Вы меряете переходы, забывая о главном.


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

Рекомендую сравнить, если не убедил: http://www.sports.ru/ и http://wicegoal.com/


Спустя 8 дней, 9 часов, 7 минут, 5 секунд (5.01.2012 - 19:16) SerginhoLD написал(а):
Цитата (Michael @ 24.12.2011 - 09:11)
1) Какие у тебя будут ссылки на текущую страницу(которую например в закладки поместить) - с якорями?
2) Кнопки "назад"/"вперед" в браузере - работают ок ?

Цитата (Guest @ 24.12.2011 - 11:38)
- Не видно самой загрузки, нельзя будет нажать Ф5, чтобы адекватно обновить страницу.

Цитата (Guest @ 24.12.2011 - 11:38)
- С якорями тоже выше написали, что будут проблемы.

Цитата (inpost @ 24.12.2011 - 11:42)
- Тяжело дать ссылку на нужный раздел. Решетка визуально не воспринимается как указатель к разделу, и часто даже не запоминается.

Спустя 2 часа, 31 минута, 54 секунды (5.01.2012 - 21:47) killer8080 написал(а):
Для тех кто сильно полагается на кеширование, обновление конкретно этой страницы вызывает 101 http запрос к серверу, при том что все закешировано!!!
Кодом 200 сервер ответил только на 2 запроса из них
GET /index.php?showtopic=55305&st=30 HTTP/1.0
и
GET /css.php?d=4_1.css HTTP/1.0

все остальные
HTTP/1.1 304 Not Modified

Если бы у меня был тормознутый канал через какойнить галимый gprs, например, обновление страницы было бы весьма долгим, при том что вся статика уже в кеше user posted image
Так что аякс имеет право на жизнь user posted image
Хотя с другой стороны, у Arni девушки бы не обновились на аватарке user posted image даже и не знаю user posted image

Спустя 2 часа, 18 минут, 50 секунд (6.01.2012 - 00:06) inpost написал(а):
SerginhoLD
проблема именно в "html5"


_____________
FC Barcelona - она всегда будет в моем сердце!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.