Клуб API Карт

YML: client-side vs yandex-side, теоретический вопрос

Пост в архиве.

Если я правильно понимаю, то при использовании geoXml.load происходит следующее:

1) посылается запрос Яндексу с urlом xml-файла на сервере

2) Яндекс закачивает этот файл, конвертирует в JSON и возвращает клиенту.

 

Это не очень удобно в стадии отладки: приходится выкладывать тестовые *.xml с полигона (закрытого от внешнего доступа)  на открытый сервер.

 

Вопрос: почему конвертация xml в json не может происходить на стороне клиента?

Не третий ли лишний сервер Яндекса в этой процедуре?

 

Да, работа клиента ускоряется. Но может быть имеет смысл сделать это "выключаемой опцией" (как debug), а функции, необходимые для client-side конвертирования, собрать в опциональный же package?

 

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

 

Или решение обусловлено факторами не-технологического характера?

 

3 комментария

Решение связанно именно с проблемами парсинга и валидации xml на клиенте, как можно заметить с сервера яндекса приходит уже json.

Функция по загрузки этого JSON сейчас в документации не описана, попробую узнать ее судьбу..

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

Не вам одному и даже не первый год :(