articles

What is a Web Application?

Many terms are bantered about in the online world; website, web application, web 2.0, etc. But what is truly the difference between a website and a web application (webapp)? You can think of the difference as being one of interactivity and data manipulation.

What's the major difference?

A standard website is generally content-centric. That means it focuses on providing the web user with information, generally in a static layout with static links to other pages filled with static content. In a nutshell, there's not much to do aside from read each page. A web application means there is more to be done. It means some task can be accomplished, a goal can be attained or some expectation can be met. That is all rather esoteric so let's delve further into it with some sort of an example.

This article, which you are undoubtedly reading on a website, is a classic example of a content-centric page. It contains words and perhaps images, but it only allows you to read or view the content, there is no manipulation or interaction except perhaps some form of commenting, rating system or ability to share it with others through various social networking sites. There is very little interaction.

What Makes Something A Web Application

A web application on the other hand might be something like Gmail where you have a specific instance of the application that you alone see. Your email and your interaction with the site is completely separate from that of others. You see the page differently than others do and are able to affect changes to it for yourself and no others. It is interactive in that you can send and receive information in the form of emails, attachments etc.

The main differences of a web application are basically that:

  • Each user has a session-based relationship. That means the application is somehow aware of who you are and loads a specific set of variables for your interface.
  • Each user can change the interface for their own session. This generally manifests itself in things like themes, colors, organization of elements, etc.
  • Users can permanently create, store and change data. This can be as simple as an email message or as complex as a multi-page spreadsheet in a web application like Google Docs or even an image in Pixlr or a video at Animoto

Content and Interaction

What if a site has both content and interactivity? Take Amazon.com for example. There are numerous pages where you read product descriptions, see photos, read user reviews and comments. However, you can login and Amazon knows who you are (figuratively) and changes your environment based on your identity. You can also create and edit wishlists (data). That means it fulfills all of the requirements for it to be a web application and therefore should be classified as one.

Web applications need not be extremely interactive or offer a multitude of things to do and ways to interact to be considered an application. They need only meet specific requirements that have been outlined above. Therefore an application may be as simple as an email program or as complex as a complete Enterprise Resource Planning package which allows you to interact with all facets and departments in a multinational corporation.

Desktop Application vs. Web Application

Do desktop applications truly know who you are? The answer is generally no and that is one major defining factor between them and web applications. When you go to a shared computer at a web cafe and load Photoshop, it does not differentiate you from any other user who logs into that computer and will load the same interface for each user.

When you log into a web application it does have some set of information about you that delineates you from other users of that web application. That means that you can have an environment customised to your specific user identity. This can be done to some degree in many desktop applications but is not always available. In web applications it must be in order to be a full-featured and full-fledged web application.

Development Considerations

What this all means is that web application development has a differing set of factors to take into account and they must include the ability to recognize individual users (generally through a username and password) whereas a desktop application doesn't necessarily need that functionality in order to still be considered a desktop application. Additionally, a web application, as the name suggests, is available on the web and can be accessed from any computer generally without the installation of any local files. A desktop application must generally have some files installed on the computer itself in order to function.

Web Application Programming Languages

Another major point for a web application is that it is programmed in a language that is understandable by a web browser. Since they are applications on the web they must be accessed somehow. The standard interface is through a web browser. Web browsers understand a finite amount of languages which means that web applications must be programmed in one of them to be understood. The following is a list of dominant languages that web applications can be programmed in:

  • HTML, DHTML, XHTML
  • XML
  • Flash
  • Javascript
  • Java
  • PHP
  • ASP
  • ActiveX
  • AJAX (a combination of javascript and XML)

Web Application Structure

Web applications now come in several varieties including 2-tier and 3-tier which refer to the number of levels of the applications. The three-tiered approach is most common at present and represents presentation, application and storage. The presentation layer is the web browser while the application layer resides on the server and includes the files in the particular programming languages and/or some sort of server technology that helps translate information to the other layers (Ruby on Rails, PHP, etc). The storage layer is generally some sort of database which stores the information that is passed to the other layers. The application layer is basically the brains of the web application and allows the other two layers to interact in a more user-friendly way by supplying both with the required information.

With the advent of Web 2.0, web applications have become abundant. Web 2.0 itself means there is the ability to share information, collaboration across multiple computers, operation across multiple operating systems and a user interface that can be edited by the user. If you're doing more than just reading content on a site, if you're interacting with other users and/or editing the colors, layout and options of your web interface, you're most likely using a web application.

PDFDesktop ProductsConversion Products
Popular Pages