Ajax vs url
От: GlebZ Россия  
Дата: 29.01.07 11:47
Оценка: 11 (2) +1
Здраствуйте, All!
Посмотрел programma.tv: покритикуйте интерфейс
Автор: caston
Дата: 29.01.07
, и возникла мысль. При использовании Ajax запросы не сохраняются в history. Таким образом, у нас нет идентифицируемости страниц. Мы не можем нажать назад, не можем обновить по нормальному, не можем сохранить ссылку или переслать ее по мылу.
Вопрос: кто нибудь может сформулировать принцип когда Ajax возможен, а когда он вреден.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Re: Ajax vs url
От: caston Голландия http://www.ilinsky.com
Дата: 29.01.07 12:13
Оценка:
Здравствуйте, GlebZ, Вы писали:

GZ>Здраствуйте, All!

GZ>Посмотрел programma.tv: покритикуйте интерфейс
Автор: caston
Дата: 29.01.07
, и возникла мысль. При использовании Ajax запросы не сохраняются в history. Таким образом, у нас нет идентифицируемости страниц. Мы не можем нажать назад, не можем обновить по нормальному, не можем сохранить ссылку или переслать ее по мылу.

GZ>Вопрос: кто нибудь может сформулировать принцип когда Ajax возможен, а когда он вреден.

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

стоит продолжать?
Re[2]: Ajax vs url
От: GlebZ Россия  
Дата: 29.01.07 12:25
Оценка:
Здравствуйте, caston, Вы писали:

C>Навигация в подобных приложениях не только необходима, но и возможна.

C>Вопрос границы ее необходимости, наверное, решается с помощью определения понятия "действия пользователя", но, отнюдь, не реакции интерфейса.

C>стоит продолжать?

Да. Но все же, в некотором контексте это все таки вопрос usability.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Re: Ajax vs url
От: Sinclair Россия https://github.com/evilguest/
Дата: 30.01.07 06:12
Оценка: 180 (9) +2
Здравствуйте, GlebZ, Вы писали:
GZ>Посмотрел programma.tv: покритикуйте интерфейс
Автор: caston
Дата: 29.01.07
, и возникла мысль. При использовании Ajax запросы не сохраняются в history. Таким образом, у нас нет идентифицируемости страниц. Мы не можем нажать назад, не можем обновить по нормальному, не можем сохранить ссылку или переслать ее по мылу.

GZ>Вопрос: кто нибудь может сформулировать принцип когда Ajax возможен, а когда он вреден.
Я могу. Но не уверен, что получится достаточно коротко и ясно:
Аякс 100% подходит тогда, когда происходит изменение UI.
Аякс 100% не подходит тогда, когда происходит навигация.

Примеры 100% привести легко:
— схлопывающиеся/раскрывающиеся панельки и деревья — аякс.
— переход от "списка товаров" к "деталям товара" — честная навигация

Проблемы начинаются в двух случаях:
1. Навигация осуществляется через модификацию UI. Пример: раскрывание деталей товара прямо в списке товаров.
2. Присутствует плавная, а не скачкообразная навигация. Примеры: скроллинг длинннннннного документа; Google Maps

Первый случай рекомендую в топку. Как несоответствующий идее гипермедиа.
Второй случай сложнее. Google Maps предлагает отдельную ссылочку Get Link, которую можно ткнуть (и остаться на той же странице), а можно добавить в фаориты, отправить другу и т.п.
Я вынашиваю смутную идею автоматической навигации в таких случаях. Типа поскроллил-поскроллил, пару секунд потупил — оп, оно перескочило. Должно быть удобно в том смысле, что сайт сам запоминает более-менее привлекшие внимание места в хистори. Тем не менее, я пока ее не обкатывал и не уверен. Ведь гугл этого не сделал... А может быть, и они не 100% гении
1.2.0 alpha rev. 655
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Ajax vs url
От: GlebZ Россия  
Дата: 30.01.07 07:25
Оценка: +1 :)
Здравствуйте, Sinclair, Вы писали:

S>Я могу. Но не уверен, что получится достаточно коротко и ясно:

+100
Есть еще один случай. Когда формы являются сценарием одного прецедента и безсмысленны друг без друга. Например, выбор из справочник(не показ а именно выбор). Или при создании объекта — важна только первая страница. Тады возможна полная выгрузка форм с переключением на клиенте, или Ajax.

S>Я вынашиваю смутную идею автоматической навигации в таких случаях. Типа поскроллил-поскроллил, пару секунд потупил — оп, оно перескочило. Должно быть удобно в том смысле, что сайт сам запоминает более-менее привлекшие внимание места в хистори. Тем не менее, я пока ее не обкатывал и не уверен. Ведь гугл этого не сделал... А может быть, и они не 100% гении

Должно быть достаточно специфичное решение. Иначе по history мы будем вспоминать только когда мы завтракали, обедали и ужинали.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Re: Ajax vs url
От: Mamut Швеция http://dmitriid.com
Дата: 30.01.07 07:57
Оценка: +2
GZ>Посмотрел programma.tv: покритикуйте интерфейс
Автор: caston
Дата: 29.01.07
, и возникла мысль. При использовании Ajax запросы не сохраняются в history. Таким образом, у нас нет идентифицируемости страниц. Мы не можем нажать назад, не можем обновить по нормальному, не можем сохранить ссылку или переслать ее по мылу.


Есть способы решения и этой проблемы. Дело в том, что ссылка может иметь вид: http://site/link#hash

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

Пример:

<script>

// Для облегчения работы используется jQuery, http://jquery.com

    function checkURL()
    {
        if(!location.hash) return;

        doAction(location.hash);
    }

    $(document).ready(
        function()
        {
            checkURL();
            $("a").click(
                function()
                {
                    return false;
                }
            );
        }
    );
</script>

<a href="#nav1" onclick>Nav link 1</a>
<a href="#nav2">Nav link 1</a>


dmitriid.comGitHubLinkedIn
Re[3]: Ajax vs url
От: Sinclair Россия https://github.com/evilguest/
Дата: 30.01.07 08:41
Оценка:
Здравствуйте, GlebZ, Вы писали:

GZ>Здравствуйте, Sinclair, Вы писали:


S>>Я могу. Но не уверен, что получится достаточно коротко и ясно:

GZ>+100
GZ>Есть еще один случай. Когда формы являются сценарием одного прецедента и безсмысленны друг без друга. Например, выбор из справочник(не показ а именно выбор).
Совершенно верно. Визард является частным случаем. Хотя я также не уверен и в том, что визард суть 100% правильный руль. Для выполнения пощаговой задачи может оказаться более эффективной какая-нибудь другая система построения навигации. В частности, IUI критикует классические визарды за неочевидность для пользователя его текущего положения в наборе шагов

S>>Я вынашиваю смутную идею автоматической навигации в таких случаях. Типа поскроллил-поскроллил, пару секунд потупил — оп, оно перескочило. Должно быть удобно в том смысле, что сайт сам запоминает более-менее привлекшие внимание места в хистори. Тем не менее, я пока ее не обкатывал и не уверен. Ведь гугл этого не сделал... А может быть, и они не 100% гении

GZ>Должно быть достаточно специфичное решение. Иначе по history мы будем вспоминать только когда мы завтракали, обедали и ужинали.
Поэтому идея и сырая. Другой ее вариант — делать location.replace, чтобы в адрес баре почти всегда была ссылка в корректное место. Т.е. хистори автоматически не загаживаем, зато у нас есть соответствие адреса содержимому.
1.2.0 alpha rev. 655
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Ajax vs url
От: Sinclair Россия https://github.com/evilguest/
Дата: 30.01.07 09:42
Оценка: +1
Здравствуйте, Mamut, Вы писали:
M>Есть способы решения и этой проблемы. Дело в том, что ссылка может иметь вид: http://site/link#hash

M>Hash в любом случае сохраняется в адресной строке, ее можно копировать и передавать другому. Правда, для этого надо очень грамотно организовывать работу


Да, я тоже об этом думал. Google зачем-то использует Query, а не Hash, хотя загрузка выполняется отложенным скриптом. Т.е. они вполне могли зарулить адреса типа http://maps.google.com/?ie=UTF8&amp;z=18&amp;ll=54.853449,83.047366&amp;spn=0.002282,0.004989&amp;t=h&amp;om=1 через hash.
Прикол hash в том, что переход на него стоит $0.00: клиент просто попытается отнавигироваться в якорь с соответствующим ID. Без обращения к серверу.
1.2.0 alpha rev. 655
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Ajax vs url
От: Miroff Россия  
Дата: 30.01.07 10:56
Оценка: 23 (1) +1
Здравствуйте, Sinclair, Вы писали:

S>Я вынашиваю смутную идею автоматической навигации в таких случаях. Типа поскроллил-поскроллил, пару секунд потупил — оп, оно перескочило. Должно быть удобно в том смысле, что сайт сам запоминает более-менее привлекшие внимание места в хистори. Тем не менее, я пока ее не обкатывал и не уверен. Ведь гугл этого не сделал... А может быть, и они не 100% гении


Посмотри wikimapia.org, ребята сделали.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: Ajax vs url
От: Sinclair Россия https://github.com/evilguest/
Дата: 30.01.07 19:19
Оценка:
Здравствуйте, Miroff, Вы писали:

M>Посмотри wikimapia.org, ребята сделали.

О! Кстати, они пользуют location.reload. Ну, значит и нам будет кошерно. Прекрасно, запланируем на версию 5.
1.2.0 alpha rev. 655
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[3]: Ajax vs url
От: Kirillov Sergey Украина www.rainboo.com
Дата: 01.02.07 17:49
Оценка:
Здравствуйте, Sinclair, Вы писали:
S>Да, я тоже об этом думал. Google зачем-то использует Query, а не Hash, хотя загрузка выполняется отложенным скриптом. Т.е. они вполне могли зарулить адреса типа http://maps.google.com/?ie=UTF8&amp;z=18&amp;ll=54.853449,83.047366&amp;spn=0.002282,0.004989&amp;t=h&amp;om=1 через hash.
S>Прикол hash в том, что переход на него стоит $0.00: клиент просто попытается отнавигироваться в якорь с соответствующим ID. Без обращения к серверу.

Хеш не передаётся по сети, и доступен только в браузере. Соответственно навигация через хеш не работает c отключённым джаваскриптом.

А текущий гуглмапс вполне сносно работает и без js.
----------------------------------------------------------------
Хочешь выучить Японский? Yokozuna!
Re[4]: Ajax vs url
От: Sinclair Россия https://github.com/evilguest/
Дата: 02.02.07 10:28
Оценка:
Здравствуйте, Kirillov Sergey, Вы писали:
KS>А текущий гуглмапс вполне сносно работает и без js.
sure? Пробовал отключать?
1.2.0 alpha rev. 655
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[5]: Ajax vs url
От: Kirillov Sergey Украина www.rainboo.com
Дата: 02.02.07 10:36
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Kirillov Sergey, Вы писали:

KS>>А текущий гуглмапс вполне сносно работает и без js.
S>sure? Пробовал отключать?

Да
----------------------------------------------------------------
Хочешь выучить Японский? Yokozuna!
Re[3]: Ajax vs url
От: Бабошин Андрей Германия http://andreybaboshin.livejournal.com/
Дата: 06.02.07 12:51
Оценка:
Здравствуйте, Miroff, Вы писали:

http://www.contentwithstyle.co.uk/Articles/38/fixing-the-back-button-and-enabling-bookmarking-for-ajax-apps
Re[4]: Ajax vs url
От: Sinclair Россия https://github.com/evilguest/
Дата: 07.02.07 07:34
Оценка:
Здравствуйте, Бабошин Андрей, Вы писали:
БА>http://www.contentwithstyle.co.uk/Articles/38/fixing-the-back-button-and-enabling-bookmarking-for-ajax-apps
Грамотно. Жалко, что дема не работает.
1.2.0 alpha rev. 655
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[3]: Ajax vs url
От: снежок Россия  
Дата: 19.02.07 06:59
Оценка:
По-моему еще важную AJAX-проблему упустили из обсуждения, впрочем она скорее вытекает из тех же проблем навигации.
Это — индексация AJAX-ресурсов поисковиками. Кроме как решения на основе "спам-страниц" ничего больше особо мне и не встречалось
Лично для себя я определил такой "отправной" алгоритм выбора:
AJAX-для интранет (внутренних) ресурсов
без AJAX — для внешних информационных. + во внешних, AJAX оправдан в плане ускорения работы контролов которые не являются средствами отражения информационного контента.
Естественно, это не какое то жесткое правило и компроммисы, в принципе, вполне возможны.

p/s/
news по теме :

Yahoo не стал сайтом-лидером США по количеству запросов интернет-страниц в ноябре. Причина этого – внедрение технологии AJAX, позволяющей обновлять веб-страницы без перезагрузки.
Забавно. Видимо в Yahoo начали искать крайних за маркетинговые провалы, и нашли их среди разработчиков. Хотя выглядит это не очень убедительно. Я, специально походил по Yahoo и нашел AJAX-овые компоненты только на главной странице. Вряд ли они могли кардинально повлиять на статистику сайта, которая насчитывает десятки миллиардов посещений.
С другой стороны проблема все-же существует. При использовании AJAX запросы на сервер все равно идут, но посколько они направлены не к обычным web страницам а к web сервисам, разместить на них обычные счетчики невозможно. И этот трафик действительно оказывается не охвачен статистикой.
Я думаю системы оценки и ранжирования сайтов ждут большие премены. Ведь место в рейтинге это большие деньги и их никто не хочет терять.

... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Ajax vs url
От: Centaur Россия  
Дата: 19.02.07 13:47
Оценка: +1
Здравствуйте, снежок, Вы писали:

С>По-моему еще важную AJAX-проблему упустили из обсуждения, впрочем она скорее вытекает из тех же проблем навигации.

С>Это — индексация AJAX-ресурсов поисковиками. Кроме как решения на основе "спам-страниц" ничего больше особо мне и не встречалось

Если на сайте контент затаскивается в страницы через AJAX, то в целях доступности сайта для клиентов, у которых Javascript отключен, должен быть предусмотрен некий fallback (например, через традиционные параметры query string’а). Вот через него и будет индексироваться.
Re[5]: Ajax vs url
От: снежок Россия  
Дата: 19.02.07 13:55
Оценка:
C>Если на сайте контент затаскивается в страницы через AJAX, то в целях доступности сайта для клиентов, у которых Javascript отключен, должен быть предусмотрен некий fallback (например, через традиционные параметры query string’а). Вот через него и будет индексироваться.
Много ли таких сейчас клиентов, которые отключают JS?
И много ли будет заходов по таким url?
И соответственно как при отсутствии заходов это будет ранжироваться поисковиками?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: Ajax vs url
От: Centaur Россия  
Дата: 20.02.07 15:14
Оценка: +1
Здравствуйте, снежок, Вы писали:

C>>Если на сайте контент затаскивается в страницы через AJAX, то в целях доступности сайта для клиентов, у которых Javascript отключен, должен быть предусмотрен некий fallback (например, через традиционные параметры query string’а). Вот через него и будет индексироваться.

С>Много ли таких сейчас клиентов, которые отключают JS?

GoogleBot.

Впрочем, тут вариантов особых нет. Если fallback’а нет, то встаёт та самая проблема неадресуемого контента, и, как следствие, неиндексируемость. Потому что, даже если поисковик найдёт на сайте контент, он не сможет дать на него ссылку.

Поэтому для каждого блока контента, который хочется находить через поиск, нужно генерировать тупую GET-ссылку. А раз она есть, то не так сложно сделать и fallback для не-JS-пользователей.
Re[7]: Ajax vs url
От: Mamut Швеция http://dmitriid.com
Дата: 21.02.07 12:46
Оценка:
C>Поэтому для каждого блока контента, который хочется находить через поиск, нужно генерировать тупую GET-ссылку. А раз она есть, то не так сложно сделать и fallback для не-JS-пользователей.

Причем такое легко реализуется в большинстве современных веб-фреймворков на основе MVC (те же Ruby-on-Rails, Django, CFWheels, CakePHP и прочие)


dmitriid.comGitHubLinkedIn
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.