Вы должны быть более точными в своих требованиях.Если вам нужна только сериализация объектов (дегидратация / гидратация) через REST API, то все, что поддерживает POX или JSON, будет работать для вас просто отлично.Однако, если вам нужен вызов метода в стиле RPC с аутентификацией, шифрованием / цифровой подписью, транзакциями и т. Д., Вам понадобится одна из тех платформ, которые вы перечислили выше.в сторону MonoTouch WCF, так как это дает вам возможность позже перенести клиента на другие платформы (например, Windows Phone 7).Опять же, как вы сказали, сейчас это немного сложно, и если команда Mono в будущем решит, что у нее нет ресурсов, чтобы инвестировать в ее поддержку, вам может понадобиться перейти на другую структуру.Конечно, есть и недостаток, что вам нужно использовать MonoTouch для вашего приложения, и вы не можете использовать Objective-C.Конечно, учитывая недавние изменения в Соглашении для разработчиков iOS, это не такая уж большая проблема, но об этом еще нужно помнить.
(Отказ от ответственности: я работал в команде Microsoft WCF, поэтому яЯ склонен к самому продукту)
Другой вариант, который я бы выбрал, это Распределенные объекты Какао.Тем не менее, это был бы мой выбор, если сервер также работает на OS X. Я знаю, что есть Bonjour для Windows, но я сомневаюсь, что он оптимизирован для серверных сценариев, и я также не знаю, насколько богата реализация RPC от Apple поверх него.для платформы Windows.Поэтому я останусь с технологией Apple, только если буду разрабатывать исключительно для платформы Apple.
Обратите внимание, что WCF и распределенные объекты предоставят вам функциональность в стиле RPC, но они не помогут вам в каких-либо конкретных сценариях.Если вам нужен / нужен еще более высокий уровень абстракции, например, вам нужна информация о присутствии или многопользовательский чат, вам все равно придется реализовать их самостоятельно.На этом этапе, возможно, стоит взглянуть на фреймворки, которые предоставляют эти функции для вас.Примером может служить RakNet (который вы перечислили выше), который абстрагирует уровень удаленного взаимодействия и создает поверх него дополнительные функции.