Использование AJaX

AmadMike

Новичок
Использование AJaX

Всем привет.
Интересно услышать ваши мнения по поводу топика.
Вообще концепция AJaX очень интересна с разных позиций, во-первых для клиента более приятно получать новые данные без неприятного обновления всего окна, во-вторых уменьшается траффик как со стороны сервера так и для клиента, ну и наконец можно уменьшить нагрузку на сервер, выдавая данные в виде обычного xml не прибегая к различным шаблонизаторам и т.п.
Так вот, возможно ли уже сейчас построить весь сайт полностью на данной технологии, т.е. при запросе отдавать браузеру шаблон сайта, а все остальные действия проводить уже с помощью JS (можно еще XSLT) и асинхронных запросов? Здесь возникают 2 проблемы: поддержка старых браузеров (хотя по статистике hotlog большинство используют ie6) и индексация сайта поисковиками. Ну решить их в принципе можно создав дополнительную облегченную версию сайта и т.д. Можно найти какой-нибудь компромисс - чисто информационные страницы отдавать обычным образом, а какие-нибудь сервисы перевести на AJaX.
 

kseen

Новичок
Ajax использовать стоит, за ней будущее. Все приятные моменты ты уже сам написал. Насчет проблем могу сказать что:
1) В старых браузерах нет поддержки javascript'a ? :)
2) Самые популярные поисковики можно распознавать и отдавать им оптимизированные под них же страницы
 

Фанат

oncle terrible
Команда форума
Ты действительно хотел задать вопрос "возможно ли построить"?
Или какой-то другой?
озвученные тобой проблемы к принципиальной возможности построить такой сайт не имеют никакого отношения.

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

AmadMike

Новичок
Нет я как раз хотел узнать побольше проблем и преимуществ и просто мнения "за" и "против". Что именно лучше всего осуществлять с использованием AJaX а что с использованием других технологий.
 

дымчик

Новичок
Re: Использование AJaX

Автор оригинала: AmadMike
... и индексация сайта поисковиками.
Ну, у меня все ссылки выполнены в виде
Код:
<A href="http://somehost.ru/somesection/" 
onClick="javascript:SITE.AJAX.LOAD('somesection')">ссылка</A>
Так что проблем с индексацией возникать не должно, ведь, насколько мне известно, поисковики индексируют по значению href.
Ну и, естественно, сайт должен уметь обрабатывать напрямую вызванный URL вида http://somehost.ru/somesection/
 

AmadMike

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

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

дымчик

Новичок
Одним из минусов AJAX-технологии является то, что при подгрузке данных не меняется URL страницы в браузере, соответственно, после подгрузки данных и нажатии на F5 клиенту возвратится страница без подгруженных данных.
Единственное, что приходит на ум - работа с хэшем document.location, таким образом можно отследить действия выполненные AJAX-ом
 

AmadMike

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

bruto

Новичок
А переданный на страницу по средствам AJaX код (ну например: <script>alert('Hi!');</script>) будет работать?
 

Yo!

Новичок
А переданный на страницу по средствам AJaX код (ну например: <script>alert('Hi!');</script> ) будет работать?
Да

Единственное, что приходит на ум - работа с хэшем document.location, таким образом можно отследить действия выполненные AJAX-ом
А почему бы не заносить в сессию информацию о последнем действии?
 

AmadMike

Новичок
2 buto
Есть хороший класс на dklab как раз для этого. Только я больше склоняюсь к работе с xml.

А почему бы не заносить в сессию информацию о последнем действии?
Т.е. после обновления страницы давать переменной js адрес запроса с последним изменением на странице? Можно в принципе и так. Хотя все равно это не решит проблему с ссылкой на страницу, т.е. для занесения ее в закладки или копирования.
 

Yo!

Новичок
Т.е. после обновления страницы давать переменной js адрес запроса с последним изменением на странице?
Сразу генирировать готовый результат.


Хотя все равно это не решит проблему с ссылкой на страницу, т.е. для занесения ее в закладки или копирования.
Решит.
при ajax'се у тебя все запросы на генирацию текста идут через js код.
Но все равно веть существует get запрос на сервер.
Так почему бы по запросу "занесения в закладки" & "копирования" не отдавать этот запрос ввиде привычной ссылки?

Это создаст дополнительные трудности.
то есть придеться создавать дополнительную ссылку / кнопку / картинку на которую придеться "вешать" эти действия.
 

AmadMike

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

Так почему бы по запросу "занесения в закладки" & "копирования" не отдавать этот запрос ввиде привычной ссылки?
Если я нажму добавить в закладки в самом браузере у меня добавится в любом случае то, что находится в строке браузера. А идея со ссылками давно известна, другого то выхода пока нет.
 

Yo!

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

AmadMike

Новичок
Да ну это глупость.
Лучше придумать какие-нибудь инструменты для обновления строки браузера при запросах AJaX, чтобы и обновление и добавление в закладки работало.
Еще хорошо бы научить поисковики индексировать xml-документы которые подключаются динамически, но для этого надо придумать какой-то механизм...
Надеюсь AJaX будет развиваться в этих направлениях... но в любом случае пока возможности сильно ограничиваются и надо использовать его там где это действительно логично и нужно, как делает это google =)
 

algo

To the stars!
Есть доклад на конфу в читабельном виде, где на кучу вопросов, которые тут затронуты, есть ответ.

Этот доклад даже куда-то выложен...
 

Bermuda

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

AmadMike

Новичок
Следует помнить, что AJaX это вспомогательный инструмент
ну так собственно об этом и говорим. Просто размышляем о возможных путях развития AJaX...
За доклад спасибо - почитаю.
 
Сверху