Шаг 97.
Библиотека jQuery.
AJAX. Выбор формата данных

    На этом шаге мы рассмотрим проблему выбора формата представления данных.

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

    Фрагменты HTML требуют очень небольшого объема программного кода для его обработки. Внешние данные могут загружаться и вставляться в страницу одним простым методом, который даже не требует функции обратного вызова. Для решения простой задачи добавления новой разметки HTML в существующую страницу нет необходимости обращаться к методам обхода элементов дерева DOM. С другой стороны, данные необязательно могут быть структурированы так, чтобы их можно было повторно использовать в других приложениях. Внешний файл слишком тесно связан с контейнером, куда он вставляется.

    Файлы JSON структурированы и легко могут использоваться повторно. Они компактны, и легко читаются. Чтобы извлечь информацию из такого файла и отобразить ее на странице, необходимо выполнить обход структуры данных, но это можно реализовать с помощью стандартных средств JavaScript. Разбор файлов может производиться единственным вызовом функции eval() языка JavaScript, поэтому чтение файла в формате JSON выполняется чрезвычайно быстро. Однако любое обращение к функции eval() представляет собой угрозу безопасности. Ошибки в файле JSON могут вызывать завершение работы сценария без вывода сообщений об ошибках или побочные эффекты, поэтому данные должны подготавливаться с особой тщательностью.

    Файлы JavaScript обеспечивают непревзойденную гибкость, но в действительности они не являются механизмом хранения данных. Эти файлы тесно связаны с языком программирования, поэтому они не могут использоваться для передачи той же самой информации системам, отличным от JavaScript. Однако использование файлов JavaScript позволяет вынести редко используемые операции во внешние файлы, уменьшить объем программного кода и загружать требуемую реализацию только по мере необходимости.

    Документы XML обеспечивают наилучшую переносимость. Так как XML стал общепринятым языком обмена данными с веб-службами, предоставление данных в этом формате обеспечивает возможность повторного их использования в разных местах. Примерами могут служить такие сайты, как Flickr (http://flickr.com/), del.icio.us (http://del.icio.us/) и Upcoming (http://upcoming.org/), которые экспортируют данные в формате XML, что позволяет использовать их во многих гибридных приложениях. Однако формат XML является довольно расточительным, а скорость работы с ним может быть ниже, чем с другими форматами.

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

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

    На следующем шаге мы рассмотрим передачу данных на сервер.




Предыдущий шаг Содержание Следующий шаг