🚀 SDUI ist ein Ansatz, bei dem der Server dem Client eine Beschreibung der Schnittstelle (normalerweise JSON) gibt und der Client diese rendert. Wir ändern die Benutzeroberfläche — wir ändern die Daten, nicht die App-Assembly. Weniger Releases, mehr Flexibilität. ✨
📦 Definition: Was ist SDUI?
Server-Driven UI - das ist, wenn der Server steuert die Struktur und das Verhalten der Benutzeroberfläche: sendet ein Bildschirmschema (Komponenten, deren Eigenschaften, Aktionen) an den Client. Der Kunde weiß, wie man Grundblöcke zeichnet und sie mit Ereignissen verknüpft, aber Layoutlogik und Variabilität leben auf dem Server.
{
"screen": {
"title": "Product of the day",
"blocks": [
{ "type": "image", "src": "https://cdn.example.com/promo.png", "ratio": "1:1", "alt": "Promo" },
{ "type": "text", "style": "h2", "value": "Discount -30%" },
{ "type": "button", "style": "primary", "text": "Buy", "action": { "type": "POST", "url": "/buy?id=42" } }
]
}
}Der Kunde musste den Code nicht ändern, um einen neuen Bildschirm zu zeichnen – er hat nur das gesendete Diagramm gezeichnet.

🔍 So funktioniert es Schritt für Schritt
Der Client fordert die Bildschirmkonfiguration vom Server an.
Der Server gibt JSON/DSL mit dem UI-Schema und Aktionen zurück.
Der Client rendert die Benutzeroberfläche aus dem Diagramm und signiert Ereignisse.
Geschäftslogik (A/B, Features, Anzeigebedingungen) — auf dem Server.
Dies ist besonders praktisch für mobile Anwendungen, bei denen Releases moderiert werden.
💡 Wie SDUI für Frontender nützlich ist
Weniger Veröffentlichungen: Wir bearbeiten die Benutzeroberfläche auf dem Server — der Kunde nimmt die Änderungen sofort auf.
Einheitliches Erlebnis auf allen Plattformen: Web- und Mobil-Clients rendern ein Schema.
Schnelle Experimente: A/B-Tests und Feature Flags — ohne Neukompilierung des Clients.
Content- und Config-Centric-Ansatz: Das Designsystem kann über das Diagramm „hochgezogen“ werden.
Experiment ohne Veröffentlichung: Das Produktteam ändert den Text der Schaltfläche „Kaufen“ → „In den Warenkorb“ in der Serverantwort und beobachtet die Conversion am selben Tag.
📌 Realistisches API-Beispiel
Der Server kann nicht nur eine Liste von Blöcken zurückgeben, sondern auch Bedingungen, Datenbindungen und Ereignisse:
{
"screen": {
"title": "Catalog",
"blocks": [
{ "type": "search", "placeholder": "Find product..." },
{ "type": "list", "items": "{{products}}",
"item": {
"type": "card",
"image": "{{item.image}}",
"title": "{{item.title}}",
"price": "{{item.price}}",
"cta": { "type": "button", "text": "Add", "action": { "type": "POST", "url": "/cart/add", "body": {"id": "{{item.id}}"} } }
}
}
],
"data": { "products": "/api/products?query={{query}}" },
"experiments": { "cta_text": ["Buy", "Add", "Add to cart"] }
}
}Vorlagen {{placeholders}} werden vom Kunden aus den über die Links angeforderten Daten eingefügt.
✅ Vorteile
Verkürzung der Time-to-Market für UI-Änderungen.
Zentralisierung der Anzeigeregeln und der Schnittstellenvariationen.
Ein einheitliches Designsystem durch Komponentenabstraktionen.
⚠️ Nachteile
Debugging ist komplizierter: Bugs sind sowohl im Schema als auch im Client möglich.
Erfordert eine Versionskontrolle des Schemas.
Einschränkungen für "reiche" Interaktionen auf dem Client.
🔧 Wo SDUI besonders geeignet ist
Mobile Anwendungen mit langer Moderation der Releases.
Projekte mit häufigen Aktionen/Redesigns und A/B-Tests.
Plattformübergreifende Produkte (Web + iOS + Android).
🧭 Fazit
Server-Driven UI beschleunigt Produktexperimente und reduziert die Anzahl der Kundenfreigaben. Es funktioniert gut, wenn sich die Benutzeroberfläche häufig ändert und Sie Variationen schnell ausrollen müssen, ohne die Apps neu zu verpacken. Dabei ist es wichtig, über die Versionierung von Schemata und Verantwortungsgrenzen zwischen Client und Server nachzudenken.
📚 Möchten Sie tiefer in das Thema einsteigen?
Im Anhang Kodik Sie finden detaillierte Lektionen zu verschiedenen Themen, Schritt-für-Schritt-Übungen, Fehleranalyse und praktische Übungen direkt auf Ihrem Handy oder im Browser.
Und wenn Sie über Neuigkeiten, neue Funktionen und nützliche Materialien informiert werden möchten, abonnieren Sie unseren Telegram-Kanal. Dort ist es gemütlich, geschäftlich und mit Liebe zum Code ❤️
