What is a backend?
Backend and frontend refer to the two independent but complementary sides of software. If you think of a piece of software like a car, the backend would contain the engine, chassis, electrical 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.
The backend is the backstage area of a website or app that is not accessible to users. Data storage and processing take place in the backend.
What does backend mean?
The word backend is used to refer to two different things:
- The side of a piece of software where data processing takes place.
- The admin area that is inaccessible to normal users
Software can be understood as a machine for data processing. It runs calculations and uses the results of those calculations 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 background.
In contrast to the frontend, which is tailored to human users, the backend is oriented towards the technical needs of the software. Efficiency, performance, scalability and security are top priorities.
Following the programming principle “separation of concerns”, the backend and frontend are implemented as two independent layers. However, both layers are necessary for fully functioning software — a backend without a frontend is like a machine without buttons.
For more on the difference between the backend and frontend, check out our article.
Who works on the backend?
There are two different groups who work on the backend:
- Administrators who log into the backend to manage a system.
- Backend developers 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.
Take advantage of IONOS’s Managed WordPress Hosting for a quick and safe WordPress website.
In addition to basic CRUD operations, WordPress admins manage things like WordPress user roles and WordPress plugins for website security in the backend.
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 developers work in the backend?
Unlike admins, backend developers won’t sign into the backend to work on it. They work in a local development environment, where they write source code that will be executed on the backend server or container.
After mostly autonomous testing, code is deployed to servers using continuous integration tools. Alternatively 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 developers will use a stack of technologies referred to as a “web stack” for programming 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 environment. Within this environment there’s a server program that receives and answers requests. Scripts are executed in a web programming language, which serves as the link between server and database:
Web stack | Execution environment | Server | Database | Language |
---|---|---|---|---|
LAMP | Linux | Apache | MySQL | PHP |
MEAN | Node.js | Express.js | MongoDB | Angular (JavaScript) |
Backend developers often use web frameworks to simplify data retrieval, processing and storage. Below, we’ll introduce some of the most important backend frameworks.
Did you know? Programmers that develop both backend and frontend are called “full stack developers”.
What are the most important backend frameworks?
Frameworks can help simplify the work of backend development. For example, thanks to a backend framework you won’t have to write processes like user authentication and database connection from scratch every time. They often also include multiple languages and a template language for generating the HTML code delivered to the front end.
The specific backend framework used will depend on the programming environment and programming 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 frameworks for these languages.
Backend frameworks in PHP, Symfony und Laravel
Symfony and Laravel are two of the most popular backend frameworks. They can both be used to program sophisticated 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 technologies have emerged from the Symfony. Laravel has also contributed a lot with its Laravel Blade templates.
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 considered revolutionary 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 productivity and developers’ satisfaction. RoR popularized the model-view-controller (MVC) approach and paved the way for many subsequent backend frameworks.
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-controller pattern and has its own template engine.
Learn the basics of Python with our Python tutorial.
Write web apps in JavaScript with Express and Node.js
Traditionally, there’s been a line drawn between frontend and backend programming languages. The frontend languages HTML, JavaScript and CSS stood in contrast to the backend languages PHP, Python, Perl and Ruby. The appearance of the JavaScript runtime environment 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 foundation for writing web apps in JavaScript. A web framework like Express is then typically used on top of it. This combination gained popularity 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 considered a language for writing modern web apps. However, the Spring framework provides a stable foundation for developing complex Java apps. Newer developments like Quarkus enable high-performance execution in containers.
Learn how to create Java apps with the Spring framework in our Spring Boot tutorial.