A website is defined by its content, while a web application is defined by its interaction with the user. That is, a website can plausibly consist of a static content repository that’s dealt out to all visitors, while a web application depends on interaction and requires programmatic user input and data processing.
For example, a news site would be a “website“, but a spreadsheet or a collaborative calendar would be web “applications.“The news site shows essentially the same information to all visitors, while the calendar processes individual data.
Practically, most websites with quickly changing content will also rely on a sophisticated programmatic (and/or database) backend, but at least in principle, they’re only defined by their output. The web application, on the other hand, is essentially a program that runs remotely, and it depends fundamentally on a processing and a data storage backend.
Web apps have several advantages over desktop applications. Since they run inside web browsers, developers do not need to develop web apps for multiple platforms. For example, a single application that runs in Chrome will work on both Windows and OS X. Developers do not need to distribute software updates to users when the web app is updated. By updating the application on the server, all users have access to the updated version.
From a user standpoint, a web app may provide a more consistent user interface across multiple platforms because the appearance is dependent on the browser rather than the operating system. Additionally, the data you enter into a web app is processed and saved remotely. This allows you to access the same data from multiple devices, rather than transferring files between computer systems.
While web applications offer several benefits, they do have some disadvantages compared to desktop applications. Since they do not run directly from the operating system, they have limited access to system resources, such as the CPU, memory, and the file system. Therefore, high-end programs, such as video production and other media apps generally perform better as desktop applications. Web apps are also entirely dependent on the web browser. If your browser crashes, for example, you may lose your unsaved progress. Also, browser updates may cause incompatibilities with web apps, creating unexpected issues.
Web applications have been around since before the World Wide Web gained mainstream popularity. For example, Larry Wall developed Perl, a popular server-side scripting language, in 1987. That was seven years before the internet really started gaining popularity outside of academic and technology circles.
The first mainstream web applications were relatively simple, but the late 90s saw a push toward more complex web applications. Nowadays, millions of Americans use the application to file their income taxes online, perform online banking tasks, stay in touch with friends and loved ones and so much more.
The web application requires a web server to manage requests from the client, an application server to perform the tasks requested, and, sometimes, a database to store the information. Application server technology ranges from ASP.NET, ASP and ColdFusion, to PHP and JSP.
Here’s what a typical web application flow looks like:
The user triggers a request to the web server over the Internet, either through a web browser or the application’s user interface.
The web server forwards this request to the appropriate web application server.
Web application server performs the requested task – such as querying the database or processing the data – then generates the results of the requested data.
Web application server sends results to the web server with the requested information or processed data.
The web server responds back to the client with the requested information that then appears on the user’s display
Increased Internet usage among companies and individuals has influenced the way businesses are run. This has led to the widespread adoption of web applications as companies shift from traditional models to cloud-based and the grid models. Web applications give businesses the ability to streamline their operations, increase efficiency, and reduce costs.
These online apps such as email clients, word processors, spreadsheets, and other programs provide the same functionality as the desktop versions. However, they have an added advantage of working across multiple platforms, having a broader reach and being easily accessible from anywhere.