WCF ou services Web (.asmx) pour l'application iOS?

Je suis relativement nouveau au développement Web et aux services Web. J'ai joué avec les services web traditionnels (.asmx) dans .NET en utilisant C #. Quelqu'un a suggéré que beaucoup de services utilisent maintenant WCF et je me demandais si je devais apprendre WCF et l'utiliser pour communiquer avec mon application iOS.

Il semble que WCF sera un peu une courbe d'apprentissage car je n'ai aucune expérience dans les frameworks .NET (peu d'expérience en C #). Je ne suis pas sûr si cela vaut la peine de passer du time sur WCF ou devrais-je simplement utiliser la façon traditionnelle d'écrire des services Web.

Aucune suggestion?

Je suggère de ne pas utiliser WCF et d'utiliser Microsoft Web API ou ServiceStack . Les deux peuvent vous fournir des services RESTful simples avec le soutien de la négociation de contenu – à savoir les services devraient être faciles à consumr sur l'iPhone.

Web API et ServiceStack cherchent à replace WCF par quelque chose de plus simple et de plus puissant. Je ne considérerais jamais employer la WCF pour n'importe quel code de greenfield aujourd'hui. Les anciens services .asmx (SOAP) sont complètement hors de question.

Vous pouvez faire en sorte que les services SOAP fonctionnent sur iPhone, mais c'est beaucoup plus de travail que de GET ou POST par rapport à une URL.

Assurez-vous de regarder cette excellente réponse pour une comparaison.

Je crois que beaucoup de services RESTful pour des applications telles que iOS sont livrés via l'API web ASP.net MVC4.

ServiceStack a des versions de client MonoTouch et MonoDroid .

Comme l'un de ses principaux objectives ServiceStack prend en charge et fonctionne sur Mono . C'est également le seul framework de services Web .NET à proposer des clients de bout en bout typés sans code-gen et son approche basée sur les messages est optimale pour les services Web.

Pour plus de comparaisons entre les deux, voici une question existante sur ServiceStack vs WebApi .