Definition of Web Applications
A web application is a software programme which is executed on a web server. In comparison to conventional desktop applications, which are installed and used locally on a computer, it is necessary to access web applications via a web browser. Most web applications, in short web apps, are based on a client server architecture.
In the area of mobile computing web applications are sometimes compared with native apps. Native apps are applications, which were developed specifically for a certain platform or device and installed on this device. Both are not mutually excluded as many applications include elements of native and web apps. Programmes, which combine both approaches are called hybrid applications.
Amongst web applications, a relatively recent development are so-called progressive web apps, abbreviated PWA. These are web applications, which offer users the same features as native apps, but which are loaded like normal websites and hosted under the same URL as the associated website. A big advantage of PWAs is that in comparison to native apps they can be used with all browsers and do not have to be installed on end devices.
The Structure of Web Apps
Normally software applications are divided into logical blocks, which are described as “tiers”. Each of these tiers undertakes a certain function. Conventional application programmes only consist of one tier, which is on the user‘s computer. Generally, web applications are structured as an n-tier approach. Even though many variants are possible, the most commonly used structure is a 3-tier application. In the most common form the three tiers are described as a presentation tier, application tier and storage tier. In this structure a web browser is the first tier, namely the presentation tier. A web server is the middle tier and a database constitutes the third tier.
With more complex web applications, a 3-tier solution, if applicable, may not suffice. In these cases, an approach higher than 3-tier is used. For example, an additional integration tier can be added, which separates the data tier from other tiers. The integration tier serves as a user-friendly interface for access to data instead of running a SQL query directly in the client table in the database. This allows the replacement of the underlying database, without changing the other tiers.
The Application Flow with Web Applications
Via the internet, the user triggers a command to the web server, either via a web browser or the user interface of the application. The web server forwards this command to the relevant web application server, which executes the requested task. For example the search of a database or processing of data and then the generation of results. The web application server sends the results with the required information or processed data back to the web server, which in turn responds to the client with the required information, which is shown on the display of the user.
What is the Difference between Websites and Web Applications?
The term website is used to describe a static internet resource, which offers no or very little interaction with a user. A conventional website is designed to inform users. Therefore, the website will be primarily made up of text, pictures and other information. The best examples for websites are blog, news- or weather websites. Users can select the section of an article or contribution. This can also include a button to subscribe, but no other interaction options.
In contrast, web applications offer more user interactions. The user of a web application can enter data on the website, amend and process it. Web applications often send requests to a web server to capture, process and respond to user entries.
The Advantages of Web Applications
In comparison to desktop applications, web applications offer several advantages. As they are run in web browsers, developers do not have to develop web apps for several platforms. An individual application, which is executed in Chrome for example, also works well under Windows as well as OS X or Mozilla Firefox. Developers do not have to distribute software updates to users when a web application is upgraded. Through the application’s update on the server all users have access to the updated version.
From a user’s perspective a web app can provide a consistent user interface on several platforms as the look and feel no longer depends on the browser or operating system. Furthermore, the data, which is entered by the user in a web app, is remotely processed and saved. In this way, users can access the same data from several devices instead of transmitting files between computer systems.
The Disadvantages of Web Applications
Web applications also have disadvantages compared to desktop applications. As they are not executed directly from the operating system, they have only limited access to system resources such as CPU, memory and file system. Therefore, high-end programmes such as software for video editing and other media applications are in general more efficient as desktop applications. Web apps are also completely dependent on the web browser. For example if the browser crashes, work in progress, which hasn’t been saved, can be lost. Browser updates can also lead to incompatibilities with web apps and cause unexpected problems.
User preferences are as individual as the users themselves. Some people prefer desktop apps, others prefer web applications. That is why many software companies meanwhile offer desktop and web versions of their most popular programmes, such as Microsoft Office. In most cases files, which are saved in the online version, are compatible with the desktop version, and vice versa. Therefore, users do not need to fear any disadvantages when they move between both applications.
- Image 1: © Geralt | pixabay.com
- Image 2: © krzysztof | pixabay.com
- Image 3: © Geralt | pixabay.com