Web application

A **web application** is a software application that can be run without being installed on the client and that has several parts: A part of it will run on the remote web server, another part will run on the client, usually inside a web browser. Both parts communicate over a computer network, for example the internet. The protocol they often use is  called HTTP. This kind of application design is called client-server model. A Web application can be advantageous because the use of browsers allows the application to be compatible with most standard computers and operating systems whilst it does not take up memory on a computer’s hard dive and is accessible from nearly any computer or device a person might use.The parts are usually called "tiers". The most common kind is a three-tier application: One tier is called Presentation tier, another is called Application tier, and the third is called Storage tier. Common examples of web applications are those used for web mail, or for online banking. Social media sites, such as Wikipedia are also web applications.

### Benefits

- Web applications run "inside" a browser; no complex installation is needed.
- Web applications require very little disk space (or computing power) on the client. All the client does is display the data.
- Web applications solve some of the "compatibility issues" (Windows, Mac, Linux); all that is needed is a browser.
- In many cases, the data is stored remotely too. As with other cloud computing, this can allow easy communication and cooperation.
- Help for communication and mail

### Drawbacks

- Because they run inside a web browser, most web applications "look" very different to regular programs. The user experience or ease of use is different and some may dislike it.
- Web applications need to be coded so they follow standards. Any browser that also follows the standard can be used. Small changes in a given browser's implementation of a standard may prevent that browser from using the web application.
- Web applications need a connection to the server where the application runs, all the time. The connection may need a certain bandwidth. Without an adequate connection, the application may not be usable; in the worst case, data may be lost.
- Many applications are dependent on the server that hosts them. When the server is switched off, or the company goes bust, the application is no longer usable. Traditional applications continue to work.
- The company offering the web application has complete control over it. This also means that they may launch a new version when they want to; the option to "skip" a less popular version does not exist.
- In many cases, the data is stored remotely too. It may not be possible to export the data so that it can be used with another application.
- The company can theoretically track anything the users do. This can cause privacy problems.

## Other websites

- HTML 5 Draft recommendation,  changes to HTML and related APIs to ease authoring of web-based applications.
- The Other Road Ahead – An article arguing that the future lies on the server, not rich interfaces on the client
- Web Applications Working Group at the World Wide Web Consortium (W3C)
- Requirements to Become a Web Developer