DIFFERENCE IN COMPUTATION UNIT
Usually, desktop applications run completely on the computer they are being run on. Web apps on the other hand, split the work between two computers. One called the server is the computer that is always on the internet and provides you with a unique address called the URL with which you can access it. eg. http://www.gmail.com/. The other computer is called the client and is occasionally connected to the internet. It connects with the server, passes along some data, gets some data back and then shows the end-user a view of the data, usually with some ways of interacting with that data.
That is the main reason why Chakra Suria insists on having your web application, your landing web or even your website on our servers – this enables us to trouble shoot and find the quickest solutions for you at almost zero cost.
Notice that with separating the two computers, you can now build the computers up from scratch keeping in mind the capabilities that they need to handle. For example, a client may be designed to be aesthetically pleasing and to have enormous graphics capacity. The server on the other hand need not bother with these and can be designed to address capacities like superfast database access, reliability under heavy load from millions of client’s etc.
DIFFERENCE IN PLATFORM
Desktop applications run directly on the operating system, or in the case of java like languages, on a close abstraction of the operating system (JVM). This gives them access to low level features of the processor. While this is still true for the server, the client in a web application is restricted to run on a web-browser.
DIFFERENCE IN STORAGE
A Desktop application stores most of the data (both user generated and the application’s own data) on the physical hard drive of the computer it is running on.
A Web application stores most of its the data on hard disks on the internet: usually, this will be referred to as the cloud. This is an oversimplification, don’t take this literally.
While this is an advantage in some situations, (like an automated backup of your work), this mode of storing data also makes it very difficult to make a web application that processes/shows a large amount of data because inevitably, the data raw-or-processed will need to be transferred to or from the server and this will be expensive and slow.
Client: This part will mostly address managing user interaction and some system for communicating with the server.
Server: This part will contain all the data storage, retrieval, processing components, and also the part that communicates with the client. Internally, the server could be intimidatingly complex because there would be database interaction layers, business logic layers, presentation layers and what not.
Note: Usually, the client requests pages or data from the server. The server is always waiting to respond to requests, the client initiates them.
So clearly, the differences are immense, but as an end-user, going towards a web-based application, Chakra Suria knows what you need so leave it to the experts to advise!