Каковы самые простые форматы обмена данными для веб-службы, которая будет иметь клиентов Cocoa и JS?

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

Кажется, что все крутые ребята в наши дни создают API-интерфейсы для своих веб-сервисов, а затем разрабатывают свои собственные API-интерфейсы для использования со своими собственными клиентами web / html / js и Cocoa / Android / etc.

Итак, если бы я использовал этот подход, существует ли конкретный формат обмена данными, который подходит как для Интернета, так и для Какао, например JSON, XML?

Я неплохо разбираюсь в PHP / CodeIgniter, JavaScript / jQuery. Между ними и предстоящей работой над Objective C / Cocoa, которую мне нужно будет выполнить, проще ли реализовать какой-либо из этих форматов обмена, например есть ли лучшая поддержка фреймворка CI, jQuery или какао?

ОБНОВИТЬ:

Информация, передаваемая туда и обратно, будет включать синхронизацию глобальной базы данных для каждого пользователя службы (3-8K записей, 15-20 полей в каждой), а также записей, индивидуальных для этих пользователей (10-3000). Поэтому первая синхронизация будет довольно большой, а последующие - немного меньше.


person jaydisc    schedule 13.07.2011    source источник


Ответы (1)


Я использовал JSON в качестве стандартного формата обмена простыми данными. XML обычно является излишним для относительно простых данных. JSON имеет отличную поддержку в jQuery, хорошую поддержку в PHP и множество библиотек Objective-C / Cocoa, чтобы преобразовать его в объект NSDictionary или NSArray (и обратно).

person Michael Petrov    schedule 13.07.2011
comment
Это верно, но, например, в php или js сказано, что извлечение определенных значений в глубоких структурах может несколько раздражать ... селекторы xpath и jquery хороши для этого ... но, как вы говорите, будут ли данные в основном с простым JSON гораздо проще иметь дело. - person prodigitalson; 13.07.2011
comment
Спасибо вам обоим. Обновил пост описанием передаваемых данных. Он не слишком многослойный, но записей может быть много. Это в значительной степени связано с XML для глубоко многоуровневых / вложенных / связанных данных и JSON для чего-то более простого? - person jaydisc; 13.07.2011
comment
@jay: Если вы говорите о таких больших наборах данных, я бы подумал, что JSON, вероятно, будет лучшим способом. Я думаю, это будет намного менее интенсивно, чем использование XML (точно на стороне php). Но я также был бы обеспокоен работой с таким большим набором данных в js-клиенте на основе браузера ... - person prodigitalson; 13.07.2011
comment
Потрясающий. Спасибо. У веб-клиента будет разбивка на страницы, и он никогда не загрузит весь набор данных сразу. Однако клиент Cocoa должен будет работать в автономном режиме и, следовательно, должен будет выполнять начальную и дальнейшую синхронизацию базы данных, хотя, вероятно, будет развернут с максимально возможным количеством предварительно сохраненных данных. - person jaydisc; 14.07.2011