REST is the way to go. There are SOAP solutions, but given that all users end up doing SOAP, they can still be done using RESTful services, there is simply no need for overhead (SOAP calls transfer XML data inside an XML envelope, which also need to disassemble).
What makes REST an excellent approach is that it makes full use of the HTTP protocol, not only to receive data, but also to publish (create) or delete things. HTTP has standard messages specific to problems with all of these things, and a decent authentication model to download.
Since RESTs are just HTTP calls, you can choose which data transfer method best suits your needs. You can send and receive XML if you want, although JSON is easier to parse and send less. Plists is another popular format, as you can send richer data types and are slightly more structured than JSON, although on the server side you usually have to look for libraries to create it.
Many people use JSON, but beware that it is very subtle because of the parsing - spoil the character at the beginning of the line or accidentally get the lines there without leaving the characters "", and there may be problems.
source share