Использование plist в качестве формата обмена

в настоящее время я планирую приложение для iPhone для клиента, которое должно иметь возможность обмениваться данными с сервером, для которого также должно быть разработано серверное приложение.

Рассматриваемые данные можно сравнить с контактными данными, на большинстве платформ xml, вероятно, будет предпочтительным форматом обмена. iOS поддерживает (удобную) запись xml только через сторонние библиотеки, поэтому я думал об использовании plist в качестве формата обмена. Подключение к словарям облегчило бы мне задачу.

Однако будущие выпуски, предназначенные для платформ, отличных от iOS/mac, также следует принимать во внимание, поэтому мне нужно знать, можно ли легко читать списки на других платформах.

Итак, мои вопросы:

  • Являются ли plist только форматом Apple или они являются общими для нескольких платформ?
  • если эксклюзивно для Apple: существуют ли библиотеки, которые позволяют легко читать списки на других платформах, например, библиотеки xml для iOS?

Большое спасибо, ребята!


person Toastor    schedule 15.02.2011    source источник
comment
Двоичный plist должен быть самым быстрым форматом для десериализации на iOS.   -  person gerry3    schedule 15.02.2011


Ответы (3)


Plist — это вещь Apple. Я уверен, что есть парсеры, написанные для других устройств, но не нативно, как для iPhone. Лично мне нравится JSON для отправки переносимых данных между разными платформами.

JSON-парсер для iPhone: http://code.google.com/p/json-framework/

person oskob    schedule 15.02.2011

насколько я знаю, .plist - это файлы xml ... просто попробуйте переименовать файл info.plist из проекта iPhone с расширением .xml и открыть его в текстовом редакторе или другом редакторе xml (или просто откройте файл .plist, не переименовывая его )... первая строка в файле .plist:

<?xml version="1.0" encoding="UTF-8"?>

... так что просто отредактируйте файл .plist в xCode и в конечном итоге переименуйте его для другой платформы...

person meronix    schedule 15.02.2011

Однако будущие выпуски, предназначенные для платформ, отличных от iOS и Mac, также следует принимать во внимание, поэтому мне нужно знать, можно ли легко читать списки на других платформах.

Я бы посоветовал просто использовать JSON или XML.

Вероятно, вы могли бы написать двоичный считыватель plist для других платформ (используя проект Apple с открытым исходным кодом Darwin и его приложение plutil для запуска кода), но двоичные форматы на различных платформах создают свои собственные проблемы (big vs small endian и т. д.).

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

person Alex Reynolds    schedule 15.02.2011