What is a web application?

This post attempts to answer the question posed in the title. It is aimed at beginning or aspiring web developers, or even those who aren't developers but wish to gain a deeper understanding of the terminology. Web applications versus static websites versus dynamic websites will be discussed.

What is a web application? Generally a web application is considered to be any website which has advanced or dynamic functionality which allows users to complete tasks or view or enter data. So for example, the websites at www.facebook.com and twitter.com are web applications. That's not to say that Facebook and Twitter themselves are simply web applications. They would in fact probably be considered social media “platforms”, since they can be accessed across multiple devices and for a myriad of purposes. Perhaps a better example is Fandango, a web application which allows users to search for movies, find showtimes, and buy tickets. Google is a web application, as is Wikipedia.

A web application is usually classified as such in contrast to a simple website. A website is a collection of web pages that can be accessed using a web browser, that usually offers no or limited dynamic interactivity and functionality. A good example is the homepage of the late Stephen Hawking. This site provides information that is organized according to a certain method, including text and images. However, there are no tasks that a user could complete on this site. There is no way for end users to enter data.

Websites can further be classified as static or dynamic. Put simply, a static site is one that doesn't change each time it is viewed, such as this list of bookmarks. It's always the same list, and almost certainly the HTML (code) for this page exists as a single file on a server somewhere. When you request the page using your web browser, the server grabs the file off disk and sends it back to your browser “as is”.

A dynamic website, on the other hand, features content that potentially changes every time it is viewed. A good example is the CNN homepage. It's not a web application, because there's no interactive way to enter data or complete a task. But it changes by the moment as news stories break or fall out of popularity. When your web browser requests cnn.com, the server doesn't return a preset file containing the code. Rather, one or more programs run on the server, and the end result (output) of the process is the HTML that gets sent back to your browser.

So what about that Stephen Hawking site, is it dynamic or static? Well, although the information on it doesn't change nearly as regularly as cnn.com, it is probably a dynamic website. It is likely that the people who run the Hawking site are using a Content Management System so they can more easily change and update the page. And so although the site might conceivably be implemented using static files, it is in fact a dynamic site.

The fact is, almost all website are dynamic. And the most useful ones are actually web applications. Other examples of web applications are Google Calendar, Reddit, and Netflix (which doesn't allow data entry, but allows for rich searching and filtering features).

Hopefully this article was useful, and feel free to send feedback to @audiodude@tiny.tilde.website on Mastodon.