Was ist ein Backend?

Backend und Frontend bezeichnen zwei unabhängige, sich gegenseitig ergänzende Ebenen einer Software. Stellt man sich eine Software als Automobil vor, umfasst das Backend Fahrgestell, Antrieb, Elektrik, Bremsen und weitere mechanische Komponenten. Im Gegensatz dazu entspräche das Frontend in dieser Analogie dem Innenraum mit Lenkrad, Armaturenbrett und weiteren Bedien- und Komfortfunktionen.

Definition

Das Backend ist der von Nutzerinnen und Nutzern abgeschirmte, im Hintergrund liegende Bereich einer Website oder App. Die Speicherung und Verarbeitung von Daten findet im Backend statt.

Was macht ein Backend aus?

Der Begriff „Back-End“ stammt aus dem Englischen und bedeutet in etwa „rückwärtiger Bereich“, oder „Unterbau“. Dort geschieht alles, was hinter den Kulissen abläuft.

Als Backend bezeichnet man im Sprachgebrauch zwei verschiedene Dinge:

  1. Die Ebene der einer Software, auf der Datenverarbeitung stattfindet.
  2. Ein von regulären Nutzern abgeschirmter Administrations-Bereich.

Eine Software ist vergleichbar mit einer Maschine für Datenverarbeitung. Es laufen Berechnungen ab, deren Ergebnisse den Fortlauf der Software bestimmen. Daten werden erzeugt und gespeichert, wobei insbesondere Datenbanken wie MongoDB und MySQL zum Einsatz kommen. All dies läuft im Hintergrund ab.

Anders als beim Frontend, welches auf den menschlichen Nutzer zugeschnitten ist, orientiert sich ein Backend an technischen Anforderungen. Im Fokus stehen Effizienz und Performanz, sowie Skalierbarkeit und Sicherheit.

Dem Entwicklungs-Grundsatz „Separation of concerns“, zu Deutsch, „Trennung der Belange“ folgend, werden Backend und Frontend als unabhängige Ebenen realisiert. Für eine voll funktionsfähige Software werden immer beide Ebenen benötigt. Ein Backend ohne Frontend ist wie eine Maschine ohne Knöpfe.

Wer arbeitet am Backend?

Es lassen sich zwei unterschiedliche Nutzungsgruppen bei der Arbeit am Backend identifizieren:

  1. Administratorinnen und Administratoren, welche am Backend eingeloggt ein System verwalten.
  2. Backend-Entwicklerinnen und -Entwickler, die Backends bauen, pflegen und weiterentwickeln.

Schauen wir uns für beide Gruppen im Detail an, wie diese am Backend arbeiten.

Wie arbeiten Admins am Backend?

Leicht erklären lässt sich die Arbeit am Backend am Beispiel des beliebten CMS WordPress. Über den WordPress-Admin-Login gelangt man in das auch als WordPress-Dashboard bekannten Backend des CMS. Dort steht Ihnen eine eigene Oberfläche zum Erstellen, Bearbeiten und Löschen von Inhalten zur Verfügung.

Neben diesen klassischen CRUD-Operationen verwalten WordPress-Admins im Backend WordPress Benutzerrollen und nutzen z.B. WordPress-Plugins zur Website-Sicherung und für andere administrative Aufgaben.

Hinweis

Obwohl als „Backend“ bezeichnet, handelt sich beim WordPress-Dashboard um eine grafische Benutzeroberfläche. Der Übergang zwischen Backen und Frontend ist hier also fließend.

Wie arbeiten Entwicklerinnen und Entwickler am Backend?

Anders als Admins, sind Backend-Entwicklerinnen und -Entwickler nicht am Backend angemeldet, um ihre Arbeiten durchzuführen. Vielmehr arbeiten sie in einer lokalen Entwicklungs-Umgebung. Dort schreiben sie Quellcode, für die Ausführung auf dem Backend-Server bzw. -Container.

Nach meist automatisierten Tests wird mithilfe von Continuous-Integration-Tools Code als Deployment auf den Server geladen. Alternativ kommen Plugin-Lösungen zum Einsatz; so werden WordPress-Plugins entwickelt, welche zwar im Backend laufen, sich jedoch von Admins verwalten lassen.

Anders als ein Frontend, welches auf dem Client ausgeführt wird, läuft das Backend auf dem Server. In der Regel kommt für Entwicklung und Ausführung ein „Web-Stack“ genannter Stapel von Technologien zum Einsatz. Zu den bekanntesten Web-Stacks zählen LAMP und MEAN. Es existieren jedoch noch viele andere.

Ein Web-Stack umfasst ein Betriebssystem bzw. einen Container als Ausführungsumgebung. Innerhalb dieser läuft ein Server-Programm, welches kontinuierlich Anfragen entgegennimmt und beantwortet. Dazu werden Skripte in einer Web-Programmiersprache ausgeführt, die als Bindeglied zwischen Server und Datenbank dient:

Web-Stack Ausführungsumgebung Server Datenbank Sprache
LAMP Linux Apache MySQL PHP
MEAN Node.js Express.js MongoDB Angular (JavaScript)

Backend-Entwickler nutzen häufig Web-Frameworks, um Abruf, Verarbeitung und Speicherung von Daten zu vereinfachen. Wir stellen die wichtigsten Backend-Frameworks im Folgenden übersichtshalber dar.

Was sind die wichtigsten Backend-Frameworks?

Frameworks vereinfachen die Arbeit bei der Backend-Entwicklung. So müssen immer wieder benötigte Prozesse wie User-Authentifizierung und die Anbindung an eine Datenbank nicht jedes Mal von Grund auf neu geschrieben werden. Auch Mehrsprachigkeit und eine Template-Sprache zur Erzeugung des ans Frontend ausgelieferten HTML-Codes sind oft Bestandteil von Backend-Frameworks.

Welches spezifische Backend-Framework zum Einsatz kommt, hängt stark von der eingesetzten Programmier-Umgebung bzw. Programmiersprache ab. Die am häufigsten verwendeten Sprachen sind PHP oder Python, Ruby, sowie JavaScript und Java. Schauen wir uns die beliebtesten Backend-Frameworks für diese Sprachen an.

Symfony und Laravel: topp Backend-Frameworks in PHP

Bei Symfony und Laravel handelt es sich um zwei der am weitesten verbreiteten Backend-Frameworks. Mit beiden lassen sich anspruchsvolle Webanwendungen programmieren, ohne bei null anfangen zu müssen. Dabei gilt Laravel als einfacher und schneller zu erlernen, Symfony als mächtiger und flexibler.

Beide Systeme sind berühmt für ihre modulare Bauweise. So sind aus dem PHP-Framework Symfony viele nützliche Web-Technologien hervorgegangen. Auch der Konkurrent Laravel hat mit seinen Laravel Blade-Templates zur Entwicklung beigetragen.

Tipp

Lernen Sie, mit PHP selber Webanwendungen zu programmieren. Mit unserem großen PHP-Tutorial.

Ruby on Rails: der Klassiker unter den MVC Backend-Frameworks

Das Backend-Framework Ruby on Rails (RoR) galt bei seinem Erscheinen als revolutionär und verhalf der Skriptsprache Ruby zu ihrem initialen Siegeszug. Wohl kein Framework legte den Fokus so stark auf Produktivität und Zufriedenheit der Entwickler. RoR machte den Model-View-Controller (MVC)-Ansatz populär und ebnete damit den Weg für viele nachfolgende Backend-Frameworks.

Mit dem Django Backend-Framework in Python programmieren

Bei Python handelt es sich um eine der klassischen Web-Skriptsprachen. Mit Django steht ein mächtiges Backend-Framework zum schnellen Programmieren neuer Webanwendungen zur Verfügung. Django folgt dem Model-View-Controller Muster und hat eine eigene Template-Engine mit an Bord.

Tipp

Lernen Sie mit unserem Python-Tutorial die Grundlagen der Skriptsprache.

Mit Express und Node.js Web-Applikationen in JavaScript schreiben

Traditionell wurde bei Programmiersprachen zwischen Frontend- und Backend-Sprachen unterschieden. Den Frontend Sprachen HTML, JavaScript und CSS standen die Backend-Sprachen PHP, Python, Perl und Ruby gegenüber. Mit dem Erscheinen der JavaScript-Laufzeitumgebung Node.js kam es zum Umbruch. Denn nun ließ sich JavaScript sowohl im Frontend als auch auf dem Backend einsetzen.

Node.js schafft die Grundlage zum Schreiben von Web-Applikationen in JavaScript. Darauf aufsetzend kommt in der Regel ein Web-Framework wie Express zum Einsatz. Berühmt wurde diese Kombination als Teil der MEAN-Stacks mit MongoDB und dem Angular Frontend-Framework.

Webanwendungen in Java schreiben: mit dem Spring Backend-Framework

An sich gilt Java nicht als Sprache zum Verwirklichen moderner Webanwendungen. Mit dem Spring-Framework steht jedoch eine stabile Basis für die Entwicklung komplexer Java-Applikationen zur Verfügung. Neuere Entwicklungen, wie Quarkus ermöglichen die performante Ausführung in Containern.

Tipp

Lernen Sie, eigene Java-Apps mit dem Spring-Framework zu erstellen. Mit unserem Spring Boot Tutorial.