Our new iPhone project consists of a native app and a server it needs to communicate with. I’d like the server to be written in Python/Django.
The last time we created something similar, the server was in written in asp.net and it exposed relevant methods as a SOAP-based web service. This was very convenient, since we were able to generate almost all server communication code from the WSDL using http://sudzc.com/. Now I basically want to do the same, but with Django instead of asp.net. More specifically, I want to expose methods and objects over an API and I’d really like to have some automatic Objective-C code generation at the other end.
I’ve looked at a few libraries for Django that are supposed to expose RESTful APIs, and most people seem to recommend django-piston or django-rest-framework. Will either of them have a WSDL-style description that I can use to auto-generate ObjC-code, though? Is there another set of tools for achieving what I’m after that I should be investigating?
In my personal experience I don’t know of anything that exists to generate client-side stubs in Objective-C for a REST service. However, there’s a very good library called RESTKit that features a JSON or XML to object mapping layer, and nice features like CoreData integration and local caching. There are number of useful Stackoverflow questions on it.
So that can get you part of the way, since it will handle communication and object mapping. If you need to build code-generation, it could output code that sets up RESTKit’s mapping structures.
Another REST client lib for iOS that I like a lot is LRResty, for its clean API, but it’s lower level than RESTKit in that it doesn’t have any built-in parsing/object mapping features.
In this similar stackoverflow question there’s a link to something called wsdl2objc which sounds like it’s in line with what you need on the iOS side (I’ve no personal experience with it, so ymmv, etc…)