Skip to main content

What’s in a web application?

By May 13, 2018August 8th, 2025Develop (Build, Design), General

You have an idea for a web application (a.k.a app or platform), but what does that actually look like? If you think about building a house, you have a foundation, a frame, walls, a roof, plumbing and electrical wiring.  All of these things are important to the finished product.  You should think about your application in the same way.  It’s made up of a bunch of different components.  Depending on the type of application, these components will be needed to make your product work.

Since, I’m always trying to find ways to explain technical concepts to people with non-technical backgrounds, this article is going to take you through the components of your future product.  This will help you to understand what you’re aiming to build. Mobile apps are slightly different, so I’ll look at that in another article.

Here’s a simplified diagram of your web app:

web app components

As you can see, the back-end is just as important as the front-end. Together, they work with some sort of data storage facility to make your app work.

Data storage (a.k.a. a database)

Information that is captured by your app needs to be stored somewhere so that it can later be retrieved, displayed or processed at a later date. This prevents a person from having to re-enter information over and over again. The data held in the database can also be generated by the app itself. This might include things like the date the information was entered or an internal status for a person’s account.

For web apps, data is usually stored in a centralised database where the information for your app and all of your users is held in a single place.

There are alternatives to a “database” which is why I have termed this “data storage”. For now, the important thing to know is that data for your app will be stored somewhere and programs will be written to access and update it.

Application Programming Interface (API)

So how do the front-end and the back-end talk to each other? This is where APIs come in. An “application programming interface” is a program that allows two applications to talk to each other. Those applications may belong to you or to someone else.  APIs take a request from one application and provide it to another application to process. It also provides the response back to the original application. In your case, this conversation will mostly take place over the Internet.

Some APIs are standard – for example if you want to embed a Google map into your app or if you want to add email addresses to a MailChimp list. This allows companies to establish consistent methods for applications wanting to communicate with them. Think of them as a published manual with the available ways to contact an application and the functions you can access. This manual will also tell you how to make the request and the format that is required.

Other APIs, like your application, may require some customised coding to work. However, for most functions, there’s probably already a template that your developers can start with to achieve the required result.

Host (hardware and software)

Your app (front-end, back-end and datastore) has to be loaded onto a piece of hardware to work. Otherwise, they are just letters and numbers on a page. That piece of hardware is called a “server”. It’s a physical device that has the capacity to run programs, manage all of the requests being sent to it, and store data. These machines can range in size and the specifications will depend on the needs of the application and the number of people accessing it. These servers also have software that allow you to monitor their performance and manage the content on them (think uploading and downloading files and programs, and managing security).

Today, most people don’t buy and run their our own servers.  Instead, there are companies that specialise in providing this as a service.  These companies are called “hosts”. They offer “hosting” which provides the hardware (e.g. servers) and the software to run your app.

The term ‘cloud’ or ‘cloud computing’ refers to these 3rd party companies that are hosting software applications.

Hosting and choosing a hosting service deserves a whole article of its own, so I’ll leave it at that for now. Basically, to make your web app work and to make it available to people, you’ll need a host.

What does this mean for you?

So, there you have it – the components of a simplified web application. It turns out there’s a lot there!

It’s important that you understand all of these different components so that you have a reference point when a developer starts talking about them. It also helps you to know what you’re actually building.  Finally, you now have an idea of the types of expertise that you’re looking for when putting together your development team.

[last updated: August 8, 2025]