Echtzeit-Updates für Internetseiten: Von HTTP zu reaktiven Backends

Apps wie Google Docs aktualisieren Änderungen sofort. Sie müssen nicht auf Aktualisieren klicken. HTTP ist nicht für Echtzeit-Apps gemacht. Dieser Text erklärt das Problem. Und er zeigt die Lösung mit reaktiven Backends.

Auf einen Blick

  • HTTP nutzt einen Abruf. Der Server sendet nicht von selbst. Echtzeit-Apps brauchen aber Push-Nachrichten.
  • Reaktive Backends wie Convex senden Daten sofort. Die Daten stimmen immer. Sie müssen keinen Speicher manuell leeren.
  • Der Wechsel zu reaktiven Backends macht die Arbeit viel leichter. Das gilt besonders für Apps für die Zusammenarbeit.

Das HTTP-Problem: Anfrage und Antwort sind nicht in Echtzeit  

Browser sprechen über HTTP mit Servern. Diese Technik gibt es seit dem Jahr 1991. Sie ist die Basis vom Internet. Aber HTTP ist nicht für Echtzeit-Apps gemacht.

HTTP nutzt eine einfache Regel. Diese Regel heißt Request-Response. Das bedeutet Anfrage und Antwort.

  1. Der Browser fragt nach Daten.
  2. Der Server gibt die Daten.
  3. Die Verbindung schließt sich.

HTTP Ablauf: Die Verbindung endet nach jeder Antwort

Warum ist das ein Problem?  

FeatureFrüher (1990er Jahre)Heute
NutzungFeste Texte lesenGemeinsam an Texten arbeiten
ZusammenarbeitEine Person liest alleinViele Personen arbeiten gleichzeitig
Technik✓ Programmierer haben HTTP dafür gemacht✗ HTTP funktioniert hier nicht gut

Programmierer haben HTTP für einfache Texte gemacht. Eine Person liest allein. Für gemeinsame Apps in Echtzeit funktioniert HTTP nicht gut.

Die großen Probleme von HTTP:

  1. Nur eine Richtung: Nur der Browser darf Fragen stellen. Der Server darf nicht von sich aus sprechen.
  2. Anfrage und Antwort: Der Browser muss immer anfangen. Das gilt auch bei offenen Verbindungen.
  3. Keine Push-Nachrichten: Der Server kann keine Neuigkeiten von selbst senden.
  4. Ständiges Nachfragen: Der Browser muss immer wieder fragen. Nur so bemerkt er Änderungen.
HTTP/1.1 und offene Verbindungen

Seit dem Jahr 1997 bleiben Verbindungen oft offen. Das heißt HTTP/1.1 oder Keep-Alive. Das spart viel Zeit beim Aufbau der Verbindung. Aber es löst das Hauptproblem nicht. Der Server kann immer noch keine Nachrichten von sich aus senden. Die Regel bleibt Anfrage und Antwort.

Das wichtigste Problem

HTTP bedeutet Abruf. Sie fragen nach Daten. Echtzeit-Apps brauchen aber Push. Der Server muss Sie von sich aus informieren.


Übersicht der Themen  


Ein Beispiel aus dem Alltag: Die Einkaufsliste  

Die Situation: Sie und Ihr Partner haben eine Einkaufsliste auf Papier.

Sie schauen auf Ihre Liste

Auf Ihrer Einkaufsliste steht: "Milch kaufen".

Ihr Partner kauft die Milch

Er streicht "Milch" von seiner Liste. Ihre Liste ändert sich aber nicht!

Sie kaufen auch Milch

Auf Ihrer Liste steht noch immer: "Milch kaufen".

Das Ergebnis: Sie haben nun doppelt Milch gekauft. Ihre Listen waren nicht auf dem gleichen Stand.

Genau dieses Problem haben Apps mit HTTP!

Das gleiche Problem bei Apps  

Das Problem der Einkaufsliste mit HTTP

Die drei wichtigsten Probleme  

1. Alte Daten

Sie sehen die Änderung von Ihrem Partner nicht. Sie beide arbeiten mit verschiedenen Listen.

2. Keine automatische Info

Der Server gibt nicht automatisch Bescheid. Sie müssen die App selbst neu laden. Erst dann sehen Sie die Updates.

3. Gleichzeitige Änderungen

Beide Personen streichen gleichzeitig einen Artikel durch. Dann geht eine Änderung verloren. Das nennt man Race Condition. Das bedeutet Wettlauf.

Wie lösen Programmierer dieses Problem heute?  

Programmierer nutzen drei Tricks. So können sie HTTP für Echtzeit-Apps nutzen. Alle drei Tricks machen viel Arbeit:

Fachbegriff: Polling

Technik: setInterval() und fetch(). Der Browser fragt immer wieder nach neuen Daten.

So funktioniert es

Der Browser fragt alle paar Sekunden beim Server nach. Er fragt: "Gibt es Neuigkeiten?"

Ein Beispiel aus dem Alltag

Sie schauen alle 5 Sekunden auf Ihr Handy. Sie prüfen immer wieder auf neue Nachrichten.

Code:

Die Probleme:

  • Verschwendung: Der Browser fragt auch bei keinen Änderungen nach.
  • Verzögerung: Sie sehen Änderungen erst beim nächsten Nachfragen.
  • Belastung: Sehr viele Nutzer machen den Server langsam.

Das wichtigste Problem  

Diese drei Lösungen sind nur Notlösungen. Programmierer verbringen viel Zeit mit diesen Problemen. Sie haben dann weniger Zeit für neue Funktionen der App.


Die Lösung: Reaktive Backends  

Die neue Regel: Automatische Updates  

Sie haben eine gemeinsame Einkaufsliste auf dem Handy. Ihr Partner streicht "Milch" durch. Sie sehen die Änderung sofort auf Ihrem Handy. Sie müssen nicht nachfragen. Alles passiert ganz automatisch!

FeatureHTTP (das alte System)Reaktive Backends (das neue System)
Daten-UpdatesSie müssen immer fragen: "Gibt es was Neues?"Der Server informiert Sie automatisch.
BeispielSie öffnen alle 5 Sekunden den Briefkasten.Sie bekommen eine Push-Nachricht auf das Handy.
EinkaufslisteSie kaufen die Milch doppelt.Die App synchronisiert die Liste automatisch.

So funktioniert es: Die gemeinsame Einkaufsliste  

  1. Sie öffnen die App. Sie sehen die gemeinsame Einkaufsliste.
  2. Der Server merkt sich: "Diese Person schaut auf die Einkaufsliste."
  3. Ihr Partner streicht Milch durch. Der Server schickt Ihnen automatisch die Änderung.
  4. Ihre App aktualisiert die Liste. Sie sehen sofort die durchgestrichene Milch.

Convex: Ein Beispiel aus der Praxis  

Video abspielen
Lädt YouTube & setzt Cookies

Klick lädt YouTube (Datenschutz)

Was ist Convex?

Convex ist ein reaktives Backend-System. Es macht Updates voll automatisch.

Einfach gesagt: Convex übernimmt die Synchronisation. Es kümmert sich um die Verbindungen. Sie konzentrieren sich auf die Funktionen Ihrer App.

Convex hat drei wichtige Funktionen:

  1. Automatisches Merken (Reactive Queries) – Der Server kennt die benötigten Daten.
  2. Alles oder Nichts (Transactional Mutations) – Änderungen sind immer komplett.
  3. Immer verbunden (Real-time Subscriptions) – Eine dauerhafte Verbindung ohne viel Arbeit.

Funktion 1: Automatisches Merken (Reactive Queries)  

Das Problem: Der Server muss den Empfänger der Nachricht kennen.

Die Lösung: Convex merkt sich die Nutzer automatisch.

Zurück zur Einkaufsliste: Sie und Ihr Partner öffnen die Liste. Der Server merkt sich das. Ihr Partner streicht "Milch" durch. Der Server informiert nur Sie beide. Andere Nutzer bekommen keine Nachricht.

Code-Beispiel  

Warum ist das gut?

Sehr schnell: Nur die betroffenen Browser bekommen Updates.

Keine Programmierung: Sie müssen nichts dafür programmieren. Convex macht es von alleine.

Sehr genau: Der Server informiert nur die Personen mit dieser speziellen Liste.


Funktion 2: Alles oder Nichts (Transactional Mutations)  

Das Problem: Ein Fehler passiert mitten in einer Änderung. Was tun?

Die Lösung: Bei Convex klappt alles oder gar nichts.

Ein Beispiel mit Geld:

Sie machen eine Überweisung:

  1. Geld vom Konto A abbuchen.
  2. Geld auf Konto B einzahlen.

Was ist das Problem? Ein Fehler passiert im zweiten Schritt. Dann ist das Geld weg!

Atomare Transaktion bedeutet:

  • Entweder passieren BEIDE Schritte.
  • Oder KEINER der beiden Schritte passiert.
  • Es passiert nie nur ein Schritt!
Warum ist das wichtig?

Keine kaputten Daten: Sie haben keine unfertigen Änderungen in der Datenbank.

Sehr sicher: Bei einem Fehler setzt Convex alles zurück.

Ganz automatisch: Sie müssen nichts dafür programmieren.

Code-Beispiel  

Die vier Garantien (ACID-Regeln):

  • Unteilbar: Alles oder nichts.
  • Konsistent: Die Daten sind immer gültig.
  • Isoliert: Gleichzeitige Änderungen stören sich nicht.
  • Dauerhaft: Erfolgreiche Änderungen sind fest gespeichert.

Funktion 3: Immer verbunden (Real-time Subscriptions)  

Das Problem: Wie informiert der Server Sie ohne Verzögerung?

Die Lösung: Convex hält eine dauerhafte Verbindung offen.

Das Geniale: Sie müssen sich nicht um WebSockets kümmern!

Convex richtet die Verbindung automatisch ein. Sie programmieren Ihre App ganz normal. Die Updates kommen automatisch.

Code-Beispiel  

Sie müssen NICHTS programmieren für:

  • Den Aufbau der Verbindung.
  • Die Überwachung der Verbindung.
  • Die neue Verbindung nach einem Abbruch.
  • Das Empfangen von Updates.
  • Die Aktualisierung der Anzeige.

Convex macht all diese Dinge automatisch!

Das ist der große Vorteil

Bei normalen WebSockets: Sie müssen Hunderte Zeilen Code schreiben. Das macht sehr viel Arbeit.

Bei Convex: Sie schreiben nur 2 Zeilen Code. Den Rest macht Convex automatisch.

Sie sparen Zeit: Aus Tagen oder Wochen Arbeit werden wenige Minuten!


Der Vergleich: Alt gegen Neu  

Hier sehen Sie die Unterschiede in einer Tabelle:

FeatureDas alte HTTPDas reaktive Backend (Convex)
DatenkonsistenzManuellAutomatisch
State ManagementIm BrowserIm Backend
Echtzeit-UpdatesImmer wieder fragenSofortige Updates
Cache-InvalidierungManuellAutomatisch
Transaktionale SicherheitIn der AppVom System garantiert
Development ComplexitySchwerLeicht

Eigene Server und Datenschutz  

Sie können Convex auf eigenen Servern betreiben. Das ist wichtig für Firmen mit strengen Regeln für den Datenschutz.

Der Code ist offen zugänglich (Open Source). Sie können das Backend in Ihrer eigenen Firma laufen lassen. Das gibt Ihnen die volle Kontrolle über alle Daten.

Die Funktionen: Das eigene Backend enthält alle wichtigen Funktionen.

FunktionConvex auf eigenen ServernConvex in der Cloud (vom Anbieter)
Abfragen und Änderungen
Gleiche Funktion
Gleiche Funktion
Echtzeit-Verbindungen
Gleiche Funktion
Gleiche Funktion
Die Übersichts-Seite (Dashboard)
Ist dabei
(Sie verwalten es selbst)
Ist dabei
(Der Anbieter verwaltet es)
Daten holen und senden
Sie müssen es selbst machen
Automatische Hilfen
(Fivetran, Airbyte)
Protokolle speichern
Sie brauchen eine eigene Lösung
Ist direkt eingebaut
Fehler überwachen
Sie brauchen eine eigene Lösung
Ist direkt eingebaut
Sicherheitskopien (Backups)
Sie müssen das selbst machen
Geht voll automatisch
(jeden Tag oder jede Woche)
Hilfe bei Katastrophen
Sie tragen die volle Verantwortung
Convex kümmert sich darum
Mehr Leistung (Skalierung)
Sie müssen Code ändern
Geht voll automatisch
Offizieller Support
Nur Hilfe aus dem Internet
Hilfe per E-Mail
Offizielle Zertifikate
Sie tragen die Verantwortung
Zertifikate sind vorhanden
(geprüfte Technik)

Hinweise zum Datenschutz (DSGVO): Convex ist eine Firma aus den USA. Bei der Nutzung der Cloud gehen Daten in ein Drittland. Sie brauchen dafür einen speziellen Vertrag. Für viele normale Apps reicht das völlig aus. Bei sehr wichtigen Daten ist ein eigener Server besser. Dazu zählen zum Beispiel Gesundheitsdaten oder Bankdaten.

Unser Tipp: Für die meisten Internetseiten können Sie die Managed Cloud nutzen. Sie ist sicher. Eigene Server lohnen sich nur für Banken, Krankenhäuser oder Behörden.

Alles wird für Sie erledigt

Convex übernimmt die komplette Technik. Convex kümmert sich um Hosting, Leistung, Überwachung und Updates.

Die Vorteile:

Keine Arbeit mit der Server-Verwaltung
Automatische Sicherheitsupdates
Sehr schnelle Verbindungen weltweit
Sie bezahlen nur für die tatsächliche Nutzung

Für wen ist das gut?

Für neue Ideen, für Startups und für schnelle Projekte.

Der Wechsel: Von alt zu neu  

Wie schwer ist der Wechsel?  

Es gibt eine gute Nachricht. Sie müssen nicht alles sofort ändern. Sie können Schritt für Schritt wechseln.

Ein Beispiel: Wie viel einfacher wird der Code?

Vorher: Mit dem alten System (HTTP)  

Was ist hier das Problem?

Sie brauchen über 50 Zeilen Code nur für die Anzeige.

Der Browser sendet alle 5 Sekunden ständige Anfragen.

Das Programmieren ist sehr schwer. Sie müssen Fehlerbehandlungen selbst schreiben.

Es ist unsicher. Es kann leicht zu Fehlern kommen.

Code-Beispiel  

Nachher: Mit Convex (viel einfacher!)  

Der Unterschied ist riesig!

Sie brauchen 70 Prozent weniger Code. Es sind 15 Zeilen anstatt 50!

Es gibt keine ständigen Anfragen mehr.

Es ist automatisch sicher. Transaktionen sind atomar.

Die Fehlerbehandlung ist eingebaut. Sie müssen nichts tun.

Alles ist immer synchron. Alle Nutzer sehen garantiert dieselben Daten.

Zusammenfassung: Sie schreiben nicht mehr Hunderte Zeilen Code. Sie nutzen zwei einfache Befehle. Den Rest übernimmt Convex.

Code-Beispiel  

Vergleich der Geschwindigkeit (mit Zahlen)  

Ein Beispiel: 1.000 Personen nutzen Ihre App gleichzeitig.

Was passiert:

Jede Person fragt alle 5 Sekunden nach Updates.

Das bedeutet:

  • 12 Anfragen pro Person in der Minute (60 Sekunden geteilt durch 5).

  • 12.000 Anfragen in der Minute bei 1.000 Personen.

  • Das passiert auch ohne Änderungen!

Wartezeit: Sie warten 2 bis 5 Sekunden auf Änderungen.

Belastung: Der Server muss sehr stark arbeiten.

Das Ergebnis

99 Prozent weniger Anfragen an den Server!

50 Mal schneller in der Anzeige.

Viel günstiger bei den Server-Kosten.


Grenzen der Technik  

Internetverbindung ist wichtig  

Reaktive Backends brauchen eine aktive Internetverbindung. Die App kann sonst keine Daten abgleichen. Für Offline-Apps brauchen Sie zusätzliche Technik.

Hilfe für Offline-Apps

Reaktive Systeme sind für das Internet gemacht. Für Offline-Apps müssen Sie extra Funktionen programmieren.

Diese Apps brauchen Offline-Funktionen:

Apps für den ständigen Offline-Betrieb. Apps in Orten mit schlechtem Internet. Wichtige Apps auf dem Handy.

Aufwand für den Wechsel  

Sie müssen alten Code oft neu schreiben. Wir empfehlen einen langsamen Wechsel.

Tipp für den Wechsel

Der schrittweise Wechsel: Machen Sie neue Funktionen mit Convex. Lassen Sie das alte System weiterlaufen. Wechseln Sie Schritt für Schritt.

Die Vorteile: Sie haben kein großes Risiko. Sie können Fehler leicht beheben.

Hilfe für Offline-Apps: Es gibt auch gemischte Lösungen. Der Browser speichert Daten lokal ab. Er gleicht Daten bei einer Internetverbindung ab. Das macht aber zusätzliche Arbeit beim Programmieren.


Zusammenfassung und Tipp  

Wann nutzen Sie reaktive Backends?

JA: Echtzeit-Apps, Apps für die Zusammenarbeit, moderne Internetseiten.

NEIN: Reine Offline-Apps, ganz einfache Internetseiten.

Unsere Meinung: Für Echtzeit-Apps brauchen Sie reaktive Backends. Der Wechsel lohnt sich auf jeden Fall.


Was ist Leichter Lesen?

A2

Diese Seite ist in Leichter Sprache geschrieben. Leichte Sprache hilft vielen Menschen, Texte besser zu verstehen. Die Sätze sind kurz. Schwierige Wörter werden erklärt.

Dieser Text wurde nach den Regeln der Leichten Sprache erstellt. Textniveau: A2 (Gemeinsamer Europäischer Referenzrahmen).

Lassen Sie uns ueber Ihr Projekt sprechen

Standorte

  • Mattersburg
    Johann Nepomuk Bergerstraße 7/2/14
    7210 Mattersburg, Austria
  • Wien
    Ungargasse 64-66/3/404
    1030 Wien, Austria

Dieser Inhalt wurde teilweise mithilfe von KI erstellt.