I have recently decided to take up a large software engineering project that will include developing client-based applications . My plan is to develop as many customers as possible: the web-based app along with native iPhone, Android and Blackberry apps.
I have a taste of Linux with a MySQL database of a VPS (possibly SlashyHost.com) for my server. My first question is, what is my strategy for customers to interface with the server My idea is:
-
GET based communication with PHP-POST or a PHP script.
This is what I am very familiar with - information on PHP scripts with a passing form, working with it and returning output I'm assuming that I have any kind of XML or JSON based I want to return output to customers as a string. I also believe that I want to create a well-defined API for my clients who want to interface with my server.Socket based communication with PHP scripts, Java programs, or C ++ programs
I'm less familiar with this, I have learned basic tutorials. Along with working on creating a script or simple application that creates a socket, listens for a connection and gives data, I believe that less than communication based on an HTTP based method, there is less communication data-overhead. To use my dream is to have a lot of concurrent clients, working with all servers / databases. I'm not sure that a simple HTTP / PHP script based communication design is effective for meeting the needs of many clients Can do it in a manner. In addition, I can finally get the ability of server-push to trigger customers triggered by various server events. I am also unsure of what programming language is most suitable for this. If efficiency is a major concern then I can think that the PHP script is not quite efficient?Is there a generally accepted way of doing this? For me this is an attempt to bridge the gap between some of my current skills. I have a lot of experience with PHP and have been interfering with a MySQL database to run directive web pages. I have considerable experience developing native iPhone applications (however, there is no significant server-based communication ) Besides that I have worked with Java / C ++, and I have developed applications in both languages that are interfaced with MySQL.
I send my clients / many data / a server According to a client-side event something equal to the set of strings.
Another question: Using VPS - Good idea? I do not want to pay for a full-fledged dedicated server (slashhost ~ $ 20 offers VPS starting from month), and I believe VPS will be able to meet the requirements of some initial customer. The more users start interfering with my server, I'm assuming that it is possible to migrate to large and large 'slices' and possibly eventually getting to a full-dedicated server.
Thanks for the advice! :)
I can say that go with the simplicity of HTTP, at least as long as your needs Do not let your abilities increase. (The more efficient your application is needed, the less HTTP fits).
For low cost and scalability, maybe you can not be mistaken with cloud like racquets or Amazon. But I'm just starting with them, my servers are VPSs far from tektonic.
Comments
Post a Comment