язык программирования C является хорошей начальной точкой.
, Кроме того, C самостоятельно хорошая начальная точка для изучения основ программирования: можно найти программное обеспечение C и разработчиков C почти везде, и много других языков пускают корни в C, такие как C++, C#, Objective C...
JSON имеет несколько преимуществ перед XML. Он намного меньше и менее раздут, поэтому вы будете передавать гораздо меньше данных по сети, что в случае мобильного устройства будет иметь большое значение.
Его также проще использовать в коде javascript, поскольку вы можете просто передать пакет данных непосредственно в массив javascript без какого-либо анализа, извлечения и преобразования, поэтому он также требует гораздо меньше ресурсов процессора.
Вместо этого кодировать с ним библиотеки XML вам понадобится библиотека JSON. Даты обрабатываются так же, как и в XML - кодируйте их в соответствии со стандартом, а затем позвольте библиотеке их распознать. (например, вот библиотека с образцом с датами в нем)
А, большой вопрос: JSON или XML ?
В общем, я предпочитаю XML только тогда, когда мне нужно передать много текста, поскольку XML отлично справляется с переносом и разметкой текста.
При передаче небольших объектов данных, где единственные строки маленькие (идентификаторы, даты и т. д.), я бы предпочел использовать JSON, так как он меньше, легче анализировать и более читабельный.
Также обратите внимание, что даже если вы выберете XML, это никоим образом не означает, что вам нужно использовать SOAP. SOAP - это очень тяжелый протокол, предназначенный для взаимодействия между партнерами. Поскольку здесь вы управляете и клиентом, и сервером, это не обязательно имеет смысл.
Подумайте, как вы будете использовать результаты на iPhone. Какой механизм вы бы использовали для чтения ответа веб-службы? NSXMLParser?
То, как вы потребляете данные, будет иметь наибольшее влияние на то, как вы их обслуживаете.
Являются ли JSON и SOAP вашими единственными вариантами? А как насчет служб RESTful?
Взгляните на некоторых крупных игроков в Интернете, у которых есть общедоступные API-интерфейсы, доступные для клиентов iPhone:
Также просмотрите следующие статьи по теме:
JSON имеет следующие преимущества:
{"key": "someValue"}
, в XML вы можете иметь someValue
или
... любой узел XML должен иметь имя ... это не всегда имеет смысл ... и дочерние элементы могут представлять либо свойства объекта, либо дочерние элементы, которые при повторении несколько раз фактически представляют собой array ... чтобы действительно понять структуру объекта XML-сообщения, вам нужна соответствующая ему схема ... в JSON вам нужен только JSON ... кроме этого,Я НЕ вижу разницы между XML и JSON ... я имею в виду, это настолько взаимозаменяемо ... вы можете использовать JSON для захвата семантики SOAP, если хотите ... просто SOAP настолько раздут ... если вы действительно хотите использовать SOAP, используйте для этого библиотеку и генераторы ... создавать все это вручную неинтересно и неинтересно ...
с использованием XML RPC или JSON RPC должен работать быстрее ... он более легкий, и вы можете использовать JSON или XML по своему желанию ... но при создании клиентских <-> серверных приложений очень важной задачей в моих глазах является абстрагирование транспортного уровня с обеих сторон ... вся ваша бизнес-логика и т. д. никоим образом не должна зависеть от чего-то большего, чем крошечный интерфейс, когда дело доходит до связи, а затем вы можете подключать протоколы к своему приложению по мере необходимости ...
Есть больше вариантов, чем просто SOAP против JSON. Вы можете использовать протокол на основе REST ( Передача репрезентативного состояния ) с использованием XML. Я думаю, что это проще использовать, чем SOAP, и вы получаете гораздо более удобный XSD (который вы разрабатываете). Практически любому клиенту довольно легко получить доступ к таким сервисам.
С другой стороны, синтаксические анализаторы JSON доступны практически для любого языка и позволяют легко вызывать их из JavaScript, если вы будете использовать их через AJAX.
Однако SOAP может быть довольно мощным с множеством стандартизированных расширений, которые поддержка корпоративных функций.
Вы также можете используйте Hessian с HessianKit на стороне iPhone и HessianC # на стороне сервера.
Большие бонусы: 1. Гессен в протоколе двоичной сериализации, поэтому полезные данные меньшего размера, хорошо для 3G и GSM. 2. Вам не нужно беспокоиться о формате с обеих сторон, транспорт автоматизирован с помощью прокси.
Итак, на стороне сервера вы просто определяете интерфейс C #, например:
public interface IFruitService {
int FruitCount();
string GetFruit(int index);
}
Затем вы просто подклассифицируете CHessianHandler и реализуете IFruitService , и ваша веб-служба готова.
На iPhone просто напишите соответствующий протокол Objective-C:
@protocol IFruitService
-(int)FruitCount;
-(NSString*)GetFruit:(int)index;
@end
Затем к нему можно будет получить доступ через прокси с помощью одной строки кода:
id<IFruitService> fruitService = [CWHessianConnection proxyWithURL:serviceURL
protocol:@protocol(IFruitService)];
Ссылки:
HessianKit: hessiankit