I'm developing an application, in iOS, that is required to connect to my Windows Server to poll for new data, update, etc. As a seasoned C# developer, my first instinct is to start a new project in Visual Studio and select Web Service, letting my bias (and comfort level) dictate the service layer of my application.
However, I don't want to be biased, and I don't base my decision on a service which I am very familiar with, at the cost of performance.
- I would like to know what other developers have had success using, and if there is a default standard for iOS service layer development?
- Are there protocols that are easier to consume than others within iOS?
- Better ones for the size and/or compression of data?
- Is there anything wrong with using SOAP?
I know it's "big" in comparison to protocols like JSON.
Best Answer
iOS applications run on constrained devices, which is the first and foremost thing to keep in mind. Those constrained devices are actually pretty capable, but do consider the following:
Each of these points and questions can help you come to the right answer for your application. I don't know enough about the iOS API to talk toward it's support for SOAP based messaging--but it's something you need to consider. Is there anything inherently wrong in SOAP? Not necessarily, but it is definitely like trying to kill a wasp with a sledgehammer in some cases. It'll get the job done but the collateral damage is significant.
You will want something that is easy to invoke and process on your target platform. This principle doesn't change if you suddenly decide to do Android apps in addition to the iOS apps. Your conclusion might change, but the reasoning to get to that answer will be the same.