Ошибки при использовании Ajax

Тема в разделе "Web 2.0, AJAX, Ruby, RSS технологии", создана пользователем admin, 7 фев 2006.

  1. admin

    admin Well-Known Member

    Регистрация:
    8 авг 2003
    Сообщения:
    2.811
    Симпатии:
    0
    В своей статье ресурс SWiK освещает проблемы, с которыми сталкивается пользователь Ajax приложений. Довольно большая статья, с развернутыми комментариями, для тех, кто еще не успел столкнуться с минусами данной технологии - будет особенно интересно.

    Автор упоминает:
    - Отсутствие поддержки кнопки "Назад"
    - Недостаток визуального сопровождения при кликах на виджеты (widgets)
    - Невозможность использования ресурса оффлайн
    - Отправка чувствительной информации по незащищенным каналам
    - Разработка AJAX приложений только для одной платформы
    - Замедление работы браузера в связи с большим количеством Javascript кода
    - Для не браузеров не использующих или не поддерживающих JavaScript альтернативы нет
    - Изобретение новых и непривычных пользовательских интерфейсов
    - Изменение состояния страницы при переходе по ссылкам (GET запросы)
    - Мигание и неожиданное изменение части страницы
    - Отсутствие ссылок, которые можно отправить другу или занести в закладки (решение: permalinks)
    - Возможное отставание в изменении одних частей страницы, по сравнению с другими
    - Асинхронное выполнение пакетных операций
    - Игнорирование поисковых роботов (затрудненная индексация подобных страниц)
    - Не следование стандартам
    - Сложность отправки сообщений об ошибках
    - Большие размеры Ajax страниц, чтобы избежать обновления страницы при работе

    Оригинал (англ.яз.): http://swik.net/Ajax/Ajax+Mistakes
     
  2. admin

    admin Well-Known Member

    Регистрация:
    8 авг 2003
    Сообщения:
    2.811
    Симпатии:
    0
    <P>Ниже, ссылки на несколько новых статей по Ajax и web-технологиям будущего:
    • <LI>"<A href="http://www-128.ibm.com/developerworks/xml/library/x-futhtml2.html" target="_blank">The future of HTML, Part 2: XHTML 2.0</A>" - примеры новшеств ожидаемых в следующей версии стандарта HTML (теперь XHTML); <LI class=l>"<A href="http://dev2dev.bea.com/pub/a/2006/01/ajax-back-button.html" target="_blank">Developing Ajax Applications That Preserve Standard Browser Functionality</A>" - пример реализации функциональности кнопки браузера "вернуться назад" в Ajax web-приложениях; <LI class=l>"<A href="http://www.xml.com/pub/a/2006/01/18/ajax-html-canvas-ruby.html" target="_blank">All Aboard AJAX, HTML Canvas, and the Supertrain</A>" - пример использования таких новых возможностей web-разработки как XMLHttpRequest (технология Ajax) и тэга Canvas для создания векторных изображений, с примерами кода на языке Ruby; <LI class=l>"Call SOAP Web services with Ajax" (<A href="http://www-128.ibm.com/developerworks/webservices/library/ws-wsajax/" target="_blank">часть 1</A>, <A href="http://www-128.ibm.com/developerworks/webservices/library/ws-wsajax2" target="_blank">часть 2</A>) - статья про создание web-приложений вызывающих SOAP web-сервисы посредством технологии Asynchronous javascript and XML (Ajax); <LI class=l>"<A href="http://www.informit.com/articles/article.asp?p=439600&rl=1" target="_blank">How To Use AJAX Patterns</A>" - обзор некоторых моделей написания Ajax приложений; <LI class=l>"<A href="http://phpinside.ru/?q=node/362" target="_blank">J4P5 - интерпретатор javascript, написанный на PHP5</A>" - небольшой обзор проекта <A href="http://j4p5.sourceforge.net/index.php" target="_blank">J4P5</A>, цель которого написание javascript интерпретатора на PHP; <LI class=l><A href="http://www.bindows.net/" target="_blank">Bindows Framework</A> - скриншоты коммерческого продукта, позволяют в полной мере ощутить возможности парадигмы Ajax и перспективы будущего web. Bindows позволяет создавать обычные оконные интерактивные приложения доступные через web-браузер. </LI>
     
  3. Andrew Stephanoff

    Andrew Stephanoff Гость

    AJAX не панацея от всех бед, и разрабатывать сайт исключительно по этой технологии, конечно, смысла нет, иначе мы можем забыть про индексацию и сохранение страниц.
    Однако, уже подчеркивалось в нескольких форумах, некоторые интреактивные элементы, такие как голосование, "быстрый ответ" в форумах, редактирование, отсылка сообщений администратору сайта можно (и я считаю нужно) делать по этой технологии.
    Уже говорилось про то, что одна из проблем AJAX -- отсутствие поддержки кнопки Back, однако этот недостаток можно превратить в достоинство -- вспомните, как засоряется история браузера при просмотре форумов, ответах в темах и голосовании. Что толку от страницы, на которой мы размещали свой ответ, либо редактировали свое сообщение? При интеграции AJAX мы можем непосредственно с текущей страницы отправлять сообщения, либо редактировать их, экономя свое время и прекрасно пользуясь кнопкой Back ;)
    Многие упирают на то, что для AJAX требуется поддержка JS, а если ее нет, то и работать ничего не будет. Конечно, это правда. Но не до конца. К примеру -- стандартная функция форума "быстрый ответ". Нам не потребуеся даже сильно менять код скрипта. Просто в форме укажем
    Код (Text):
    onsubmit=javascript:return false;
    и на кнопку Submit повесим обработчик
    Код (Text):
    onclick=send();
    В функции send() мы отошлем данные скрипту с указанием того, что данные пришли через js -- введем переменную ajax=true, а в скрипте, после выполнения всех действий, в зависимости от значения переменной ajax, сгенерируем либо xml, либо страницу с сообщением и редиректом на HTTP_REFERER. Наш js забирает сгенерированный xml и парсит его (DOM). В принципе, тут можно использовать SOAP либо XML RPC, но, на мой взгляд, для небольших задач достаточно передавать такой xml
    Код (Text):
    <response>
    <message>Message</message>
    ...
    <error>Error</error>
    ...
    </response>
    Такой xml достаточно просто обработать и для небольших задач использовать проще. В алерте мы можем сделать вывод либо всех сообщений или ошибок, либо просто выводить текст, типа "Ваше сообщение отослано" или "Имеются ошибки". Если ошибок нет, то поля ввода очищаются.
    Но вот js выключен и что мы имеем? Стандартную форму быстрого ответа.
    На мой взгляд, когда шумиха вокруг данной технологии спадет, AJAX займет свою нишу. Нет, не будут создаваться целые проекты на "чистом" AJAX, данная технология позволит просто упростить работу и навигацию на сайтах.
     
Загрузка...

Поделиться этой страницей