Backend and frontend refer to the two in­de­pen­dent but com­ple­men­tary sides of software. If you think of a piece of software like a car, the backend would contain the engine, chassis, elec­tri­cal 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.

De­f­i­n­i­tion

The backend is the backstage area of a website or app that is not ac­ces­si­ble to users. Data storage and pro­cess­ing 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­cess­ing takes place.
  2. The admin area that is in­ac­ces­si­ble to normal users

Software can be un­der­stood as a machine for data pro­cess­ing. 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­cien­cy, per­for­mance, scal­a­bil­i­ty and security are top pri­or­i­ties.

Following the pro­gram­ming principle “sep­a­ra­tion of concerns”, the backend and frontend are im­ple­ment­ed as two in­de­pen­dent 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­tra­tors who log into the backend to manage a system.
  2. Backend de­vel­op­ers 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­vel­op­ers work in the backend?

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

After mostly au­tonomous testing, code is deployed to servers using con­tin­u­ous in­te­gra­tion tools. Al­ter­na­tive­ly 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­vel­op­ers will use a stack of tech­nolo­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­vi­ron­ment. Within this en­vi­ron­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­vi­ron­ment Server Database Language
LAMP Linux Apache MySQL PHP
MEAN Node.js Express.js MongoDB Angular (JavaScript)

Backend de­vel­op­ers often use web frame­works to simplify data retrieval, pro­cess­ing 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­vel­op­ers”.

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­ti­ca­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­vi­ron­ment and pro­gram­ming language at hand. The most common languages are PHP, Python, Ruby, JavaScript 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 so­phis­ti­cat­ed 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­nolo­gies have emerged from the Symfony. Laravel has also con­tributed 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­sid­ered rev­o­lu­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­duc­tiv­i­ty and de­vel­op­ers’ sat­is­fac­tion. RoR pop­u­lar­ized the model-view-con­troller (MVC) approach and paved the way for many sub­se­quent 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­troller pattern and has its own template engine.

Tip

Learn the basics of Python with our Python tutorial.

Write web apps in JavaScript with Express and Node.js

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

Node.js provides the foun­da­tion for writing web apps in JavaScript. A web framework like Express is then typically used on top of it. This com­bi­na­tion gained pop­u­lar­i­ty 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­sid­ered a language for writing modern web apps. However, the Spring framework provides a stable foun­da­tion for de­vel­op­ing complex Java apps. Newer de­vel­op­ments like Quarkus enable high-per­for­mance 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