What is the best server client communication protocol to use in Android and iOS?

14,686

Solution 1

For most applications, HTTP(S) is the best protocol to use. The overhead (i.e. headers) is pretty small, the transfer can be gzipped, the connection can be secured (via SSL). Also, ports 80 (HTTP) and 443 (HTTPS) will be open in 99% of cases. Other ports are not -- for example some carriers block all other ports unless you pay extra.


As for the implementation, I suggest a RESTful web service using the JSON format. JSON is well standardized, has small overhead and you have good libraries for working with it in any language (check out org.json, which is bundled with Android but can be downloaded as standalone for other applications as well). Check out this question, too:

Solution 2

Use Jackson parser or Gson parser instead of JSON Parser.

1.Jackson is 2X faster than JSON and it is suitable for parsing complex and extremely big jsons.

2.Gson competitively faster than JSON.

Share:
14,686
André
Author by

André

Updated on June 05, 2022

Comments

  • André
    André about 2 years

    We have a server application (implemented in Java) that will provide some data for our mobile apps. The apps will be created for Android and iOS.

    Which is the best protocol / library for this purpose? The overhead of the protocol should be as small as possible.

    Thanks.

    Edit: It should be a request->response szenario. Data lost is not acceptable. The answer could contain a long list of data and therfore less overhead is required.

    The client shall request the data (a specified key and some definied parameters) e.g. "give me all file from folder x that have the extension y". The server answers with the list.

    The first idea was using XMLRPC, but the generated responses are too large.