You will find should be lots of applications that can talk to server. My real question is no more than Application placed on iOS device + Server side service interaction. Web application isn't things i am speaking about, and tthere shouldn't be web page involved with this discussion whatsoever. Typical good examples are Applications like Instagram and Twitter, by which the majority of the information exchanged between your Application and also the server is simply data like String, Image and Integers(covered with JSON or XML), no web page presentation needed.

My question is going to be: if you are a independent application developer, and you're simply creating this kind of application on your own with no existing website API, database structure or application(so you aren't restricted to any existing API or database structure or application protocol), What would be the most effective approach?

Exactly what the sever side have to do are:

  • receive data send through the Application
  • process the information with designed logic
  • communicate with database(like MySQL)
  • do necessary data mining and analysis---this may be a continuously running service a treadmill time task asked for through the Application client
  • send the information to the Application upon request or automatically
  • exchange or broadcast the information between/among different Application clients (i.e.: group chatroom and peer to see message)

As far I as know you will find 3 apparent choices to implement the server side:

  • PHP
  • Python
  • Ruby on Rails

(don't hesitate to increase the options)

My questions are:

  • which is easily the most appropriate option to implement the server side?
  • When the Application is focusing intensively on natural human language/text searching, examining and data mining, which is the greatest choice? I heard Python does very good in this region.
  • Any suggestions about the database options? I'm using MySQL for the time being, and that i found the correct answer is effective for my reasons, I heard Twitter is switching to Cassandra. Will that be too hard to begin with?
  • For that server finish, if you want to develop a Server management interface, for you personally being an admin to handle and monitor the city, membership, data and the like, can there be any existing solution, or framework or tool for your? what would be the most effective approach?
  • If your new programmer doesn't have experience of non of these, which you suggest he/she to begin with?
  • Can there be worthwhile reference material or sample code around the server side such context we are able to study from?

I understand you will find lots of very experienced experts on these areas on Stackoverflow, however i saw more newcomers who just joined the iOS developing area with little understanding in server/database programming experience. And That I hope this thread might help these who're thinking to create an Application with server/client structure but have no clue how to start with.

ps: I'll keep upgrading this thread and adding my findings about this subject, to assist other customers at stackoverflow. :-) Please attempt to build your answer informative, clear to see, and constructive. I suppose the majority of visitors with this thread is going to be new people of the great community.

This can be a huge question and that i don't believe there's a best solution. It most is dependent on which you worry about, for example how rapidly the expansion process, how easily the implementation, etc.

And which is popular, which is awesome, I do not think it make really sense.

During my personal opinion, I am proficient at ASP.Internet and that i could possibly get Home windows server easily, so I'll begin with an ASP.Internet plan to provides data.

And, to become ongoing.