Wo Python seine Stärken hat
Web-Backends und APIs entwickeln
Du schreibst auf einer Website eine Notiz und klickst auf Save note. Einen Augenblick später erscheint sie auf dem Bildschirm.
Dafür waren mehrere getrennte Softwareteile nötig, die in mehr als einer Sprache geschrieben wurden. Nur einige davon waren Python. Wenn wir den Weg der Notiz verfolgen, klärt das das häufigste Missverständnis über Python und das Web.
Der Teil vor dir
Ein Browser ist das Programm, das dir die Seite anzeigt. Chrome, Firefox, Safari, Edge.
Was dort ankommt, besteht normalerweise aus drei Dingen: HTML für die Struktur, also Überschriften, Absätze, Formulare und Schaltflächen; CSS für das Aussehen, also Farben, Abstände und Layout; und JavaScript für das Verhalten innerhalb der Seite, zum Beispiel dafür, was beim Klick auf eine Schaltfläche passiert. Teams schreiben häufig TypeScript und wandeln es in JavaScript um, bevor der Browser es erhält.
Python übernimmt normalerweise keine dieser Aufgaben. Das wird oft falsch verstanden, wenn Menschen hören, dass Python gut für Webentwicklung geeignet ist.
Wenn du auf Save note klickst, sammelt Code im Browser deinen Text und sendet eine Anfrage, eine Nachricht, die um Informationen bittet oder darum, dass etwas geschieht.
Der Teil hinter der Seite
Diese Anfrage gelangt zu einem Server, einem anderen Computer, der gemeinsame Aufgaben für alle Nutzer der Website erledigt. Er kann ein kleines Team oder mehrere Millionen Menschen bedienen.
Der Server muss feststellen, ob du angemeldet bist, ob die Notiz zulässig ist und was die Regeln des Produkts dazu sagen. Dann bittet er eine Datenbank, ein System, das gemeinsame Datensätze speichert und wiederfindet, die Notiz aufzubewahren. Anschließend antwortet er deinem Browser.
Diese Arbeit hinter der sichtbaren Seite ist das Backend, und sie gehört klar zu Pythons Einsatzgebiet. Regeln anwenden, mit gespeicherten Informationen arbeiten, andere Systeme koordinieren und mehrere Schritte zu einem zuverlässigen Ablauf verbinden: Dafür ist Python gut geeignet.
| Schritt | Ort | Was passiert |
|---|---|---|
| 1 | Browser | Formular anzeigen, auf Eingaben und Klicks reagieren |
| 2 | Browser zum Server | Notiz und Anfrage der angemeldeten Person senden |
| 3 | Python-Server | Anfrage prüfen, Regeln anwenden, Datenbank um Speicherung bitten |
| 4 | Server zum Browser | Ein klares Ergebnis zurückgeben |
| 5 | Browser | Gespeicherte Notiz anzeigen oder erklären, was Aufmerksamkeit braucht |
Ein Produkt, mehrere Sprachen, denn jede Zeile beschreibt eine andere Aufgabe. Ein nützliches Produkt braucht keine Sprache, die alles erledigt. Jede wichtige Verantwortung braucht einen passenden Platz.
Die Vereinbarung dazwischen
Eine API ist eine vereinbarte Möglichkeit, mit der ein Programm ein anderes um Informationen oder eine Aktion bittet. Die Buchstaben stehen für application programming interface, auf Deutsch Programmierschnittstelle. Die Aufgabe ist aber wichtiger als der Name.
Der Browser nutzt eine API, um den Python-Server um das Speichern deiner Notiz zu bitten. Eine Smartphone-App könnte dieselbe API nutzen. Ebenso das System eines anderen Unternehmens. Die Vereinbarung legt fest, was angefragt werden darf, was mitgeschickt werden muss und was zurückkommt. Genau deshalb können beide Seiten in verschiedenen Sprachen geschrieben sein und trotzdem zusammenarbeiten.
Python hat dafür Frameworks, Sammlungen fertiger Bausteine, die Anfragen empfangen, Antworten senden und Regeln organisieren. Django und FastAPI sind zwei davon. Du musst dich jetzt nicht zwischen ihnen entscheiden. Entscheidend ist, dass niemand die Grundlagen des Webs von Grund auf neu baut.
Auf welche Seite gehört eine Aufgabe?
Frag dich, was die Arbeit tatsächlich braucht: den Bildschirm vor der Person oder die geschützten Informationen und gemeinsamen Regeln auf dem Server.
Deine Eingaben anzuzeigen gehört in den Browser. Die Notiz in deinem Konto zu speichern, damit du sie auf einem anderen Gerät öffnen kannst, braucht den Server und seine Datenbank. Ein Browser kann Informationen auch lokal speichern, aber allein dadurch stehen sie deinem Konto anderswo noch nicht zur Verfügung. Eine Regel, die für alle Nutzer gilt, gehört normalerweise ebenfalls auf den Server.
Die Antwort ist nicht immer ganz eindeutig. Ein Browser kann prüfen, ob eine Notiz leer ist, damit du sofort eine Meldung bekommst, statt zu warten. Der Server muss das ebenfalls prüfen, denn er kann nicht davon ausgehen, dass die Anfrage von der Seite stammt, die du angesehen hast. Dieselbe Regel landet aus zwei verschiedenen Gründen an beiden Orten. Das ist normal und keine Verschwendung.
Hier stark, aber nicht überall
Python kann HTML erzeugen, und es gibt Werkzeuge, mit denen es weiter in den Browser hineinreicht. Trotzdem besteht eine Seite mit wirklich komplexem Verhalten vor dem Nutzer normalerweise aus HTML, CSS und JavaScript.
Auf dem Server ist Python gut geeignet, wenn es um Produktregeln, gemeinsame Informationen, APIs, Verbindungen zu anderen Systemen oder eine Hintergrundaufgabe geht. Damit ist Arbeit gemeint, die weiterläuft, nachdem der Server bereits geantwortet hat, etwa einen großen Bericht erstellen oder eine E-Mail senden.
Das macht Python trotzdem nicht automatisch für jedes Unternehmen zur richtigen Wahl. Ein Team hat vielleicht zehn Jahre Erfahrung mit Java, C#, Go oder Ruby. Das Produkt stellt möglicherweise ungewöhnliche Anforderungen an Geschwindigkeit oder Hardware. Die vorhandenen Menschen und Systeme gehören zur Entscheidung dazu. Das ist keine Schwäche von Python im Web, sondern normale Entwicklungsarbeit.
Das Muster wird jetzt sichtbar: Python arbeitet häufig hinter der sichtbaren Oberfläche und koordiniert Regeln, Informationen und andere Systeme. Die nächste Lektion folgt derselben Stärke in ein ganz anderes Gebiet.
Mehr erfahren
Die offizielle Django-Übersicht zeigt, was ein vollständiges Webframework bietet. MDN hat eine gut zugängliche Einführung in serverseitige Programmierung. Beide englischen Quellen sind optional.