Backend and frontend refer to the two in­de­pend­ent but com­ple­ment­ary sides of software. If you think of a piece of software like a car, the backend would contain the engine, chassis, elec­tric­al wiring and so forth. The frontend, on the other hand, would have the steering wheel, dashboard, buttons for operating the windows and other such features.

Defin­i­tion

The backend is the backstage area of a website or app that is not ac­cess­ible to users. Data storage and pro­cessing take place in the backend.

What does backend mean?

The word backend is used to refer to two different things:

  1. The side of a piece of software where data pro­cessing takes place.
  2. The admin area that is in­ac­cess­ible to normal users

Software can be un­der­stood as a machine for data pro­cessing. It runs cal­cu­la­tions and uses the results of those cal­cu­la­tions to determine how the software should move forward. Data is created and saved using databases like MongoDB and MySQL. All of that happens in the back­ground.

In contrast to the frontend, which is tailored to human users, the backend is oriented towards the technical needs of the software. Ef­fi­ciency, per­form­ance, scalab­il­ity and security are top pri­or­it­ies.

Following the pro­gram­ming principle ‘sep­ar­a­tion of concerns’, the backend and frontend are im­ple­men­ted as two in­de­pend­ent layers. However, both layers are necessary for fully func­tion­ing software — a backend without a frontend is like a machine without buttons.

Note

For more on the dif­fer­ence between the backend and frontend, check out our article.

Who works on the backend?

There are two different groups who work on the backend:

  1. Ad­min­is­trat­ors who log into the backend to manage a system.
  2. Backend de­velopers who build, maintain and continue to develop backends.

Let’s take a look at the two groups in detail and how they work in the backend.

How do admins work in the backend?

Let’s use the popular CMS WordPress as an example. After signing in via the WordPress admin login, you’ll end up in the backend, also known as the WordPress Dashboard. This is the interface for creating, editing and deleting content.

Tip

Take advantage of IONOS’s Managed Hosting for WordPress for a quick and safe WordPress website.

In addition to basic CRUD op­er­a­tions, WordPress admins manage things like WordPress user roles and WordPress plugins for website security in the backend.

Note

Even though it’s called a backend, the WordPress Dashboard is actually a graphic user interface. This shows that the terms backend and frontend exist on a spectrum.

How do de­velopers work in the backend?

Unlike admins, backend de­velopers won’t sign into the backend to work on it. They work in a local de­vel­op­ment en­vir­on­ment, where they write source code that will be executed on the backend server or container.

After mostly autonom­ous testing, code is deployed to servers using con­tinu­ous in­teg­ra­tion tools. Al­tern­at­ively plugins can be used — there are, for example, WordPress plugins that run in the backend but can be managed by admins.

Unlike the front end, which is executed on the client, the backend runs on the server. Usually de­velopers will use a stack of tech­no­lo­gies referred to as a ‘web stack’ for pro­gram­ming and execution. LAMP and MEAN are two popular web stacks among the many options out there.

A web stack has an operating system or container as its execution en­vir­on­ment. Within this en­vir­on­ment there’s a server program that receives and answers requests. Scripts are executed in a web pro­gram­ming language, which serves as the link between server and database:

Web stack Execution en­vir­on­ment Server Database Language
LAMP Linux Apache MySQL PHP
MEAN Node.js Express.js MongoDB Angular (JavaS­cript)

Backend de­velopers often use web frame­works to simplify data retrieval, pro­cessing and storage. Below, we’ll introduce some of the most important backend frame­works.

Note

Did you know? Pro­gram­mers that develop both backend and frontend are called ‘full stack de­velopers’.

What are the most important backend frame­works?

Frame­works can help simplify the work of backend de­vel­op­ment. For example, thanks to a backend framework you won’t have to write processes like user au­then­tic­a­tion and database con­nec­tion from scratch every time. They often also include multiple languages and a template language for gen­er­at­ing the HTML code delivered to the front end.

The specific backend framework used will depend on the pro­gram­ming en­vir­on­ment and pro­gram­ming language at hand. The most common languages are PHP, Python, Ruby, JavaS­cript and Java. Let’s take a look at some of the most popular backend frame­works for these languages.

Backend frame­works in PHP, Symfony und Laravel

Symfony and Laravel are two of the most popular backend frame­works. They can both be used to program soph­ist­ic­ated web apps, without having to start from scratch. Laravel is simpler and easier to learn, while Symfony is more powerful and flexible.

The two systems are known for their modular designs. Many useful web tech­no­lo­gies have emerged from the Symfony. Laravel has also con­trib­uted a lot with its Laravel Blade templates.

Tip

Learn how to program web apps yourself using PHP with our big PHP tutorial.

The classic MVC backend framework, Ruby on Rails

The backend framework Ruby on Rails (RoR) was con­sidered re­volu­tion­ary when it was first released and helped the scripting language Ruby reach its initial success. There’s probably no other framework that focusses as much on pro­ductiv­ity and de­velopers’ sat­is­fac­tion. RoR pop­ular­ised the model-view-con­trol­ler (MVC) approach and paved the way for many sub­sequent backend frame­works.

Tip

Check out our tutorial to learn how to create a Ruby on Rails app.

Program in Python with the Django backend framework

Python is one of the classic web scripting languages. Django is a powerful backend framework that makes it possible to develop new web apps faster. It adopts the model-view-con­trol­ler pattern and has its own template engine.

Tip

Learn the basics of Python with our Python tutorial.

Write web apps in JavaS­cript with Express and Node.js

Tra­di­tion­ally, there’s been a line drawn between frontend and backend pro­gram­ming languages. The frontend languages HTML, JavaS­cript and CSS stood in contrast to the backend languages PHP, Python, Perl and Ruby. The ap­pear­ance of the JavaS­cript runtime en­vir­on­ment Node.js marked a change in this — it made it possible to use JavaS­cript both in the frontend and the backend.

Node.js provides the found­a­tion for writing web apps in JavaS­cript. A web framework like Express is then typically used on top of it. This com­bin­a­tion gained pop­ular­ity as part of the MEAN stack along with MongoDB and the Angular frontend framework.

Writing web apps in Java with the Spring backend framework

On its own, Java isn’t con­sidered a language for writing modern web apps. However, the Spring framework provides a stable found­a­tion for de­vel­op­ing complex Java apps. Newer de­vel­op­ments like Quarkus enable high-per­form­ance execution in con­tain­ers.

Tip

Learn how to create Java apps with the Spring framework in our Spring Boot tutorial.

Go to Main Menu