Feste Designs werden zu anpassbaren Erlebnissen
Wir bauen Benutzeroberflächen bald ganz anders. Bisher war eine UI für alle Menschen gleich. Menschen haben das Design fest programmiert. Das reicht heute oft nicht mehr. Generative UI ist eine neue Technik. Die Technik macht das Design für jede Person einzeln.
Die Firma Nielsen Norman Group erklärt GenUI so: Künstliche Intelligenz baut sofort eine persönliche Benutzeroberfläche. Früher haben Fachleute ein festes Design programmiert. Heute baut ein intelligentes Programm das beste Design für Sie. Das Programm macht das genau im Moment der Nutzung.
Inhaltsverzeichnis
Einführung mit Videos: GenUI verstehen
Wir erklären Ihnen später die genauen technischen Details. Aber zuerst zeigen wir Ihnen 2 Videos. Diese Videos sind ein sehr guter Anfang für das Thema.
Die Firma Nielsen Norman Group erklärt GenUI
Fachleute von der Nielsen Norman Group erklären Generative UI. Generative UI ist ein englischer Fachbegriff. Er bedeutet: Künstliche Intelligenz baut die Oberfläche von einem Programm. Das ist eine völlig neue Art der Gestaltung.
Klick lädt YouTube (Datenschutz)
Kate Moran und Sarah Gibbons sprechen in dem Video. Sie erklären: Künstliche Intelligenz baut passende Oberflächen für jeden Nutzer. Das passiert schnell und in Echtzeit. Das Video zeigt die Unterschiede zur normalen Gestaltung. Dieses Wissen ist sehr wichtig. Es ist wichtig für Gestalter und für Entwickler.
Google A2UI: Ein genauer technischer Blick
Dieses Lernvideo zeigt das A2UI-Protokoll von Google im Einsatz. Sie sehen den genauen Aufbau der Daten in JSON. JSON ist ein Format für Daten am Computer. Das Video zeigt auch echte Beispiele für den Einbau.
Klick lädt YouTube (Datenschutz)
Das Video zeigt den Einbau von A2UI in verschiedene Frameworks. Ein Framework ist ein Gerüst für das Programmieren. Zwei Teile in dem Video sind besonders wichtig. Ein Teil ist der Aufbau von der Sicherheit. Der andere Teil ist das Component-Registry-Pattern. Das ist eine Methode für die Verwaltung von Bauteilen. Wir nutzen diese Dinge später bei dem Einbau in TYPO3.
Das Problem: Programme mit nur Text scheitern
Programme mit LLM funktionieren gut bei einfachen Fragen. Ein LLM ist ein künstliches Sprachmodell im Hintergrund. Bei schweren Aufgaben ist reiner Text oft schlecht. Sie müssen zum Beispiel viele genaue Daten eingeben. Oder Sie wollen viele Informationen auf einmal sehen. Dann entsteht ein langes Hin und Her. Das kostet viel Zeit. Das strengt Sie als Nutzer sehr an.
Ein Beispiel: Einen Tisch im Restaurant buchen
User: "Book a table for 2."
Agent: "Okay, for what day?"
User: "Tomorrow."
Agent: "What time?"
User: "Maybe 7pm"
Agent: "We do not have reservation availability then, any other times?"
User: "When do you have reservations?"
Agent: "We have availability at 5:00, 5:30, 6:00, 8:30, 9:00, 9:30 and 10:00.
Do any of those work for you?"Zu viel Hin und Her: Jede Frage und jede Antwort kostet Zeit. Viele Menschen brechen den Vorgang dann ab.
Zu viel Nachdenken: Sie lesen eine Liste mit Zeiten als Text. Sie müssen sich diese Zeiten im Kopf merken. Das ist sehr anstrengend. Gute Internetseiten zeigen solche Zeiten in einer Übersicht.
Viele Fehler: Sie tippen sich beim Schreiben vielleicht ab. Oder das Programm versteht die Uhrzeit falsch. Oft fehlen auch wichtige Informationen.
Besserer Text ist dafür nicht die Lösung. Wir brauchen andere Anzeigen auf dem Bildschirm. Zum Beispiel einen Kalender für freie Zeiten. Oder einen Regler für die Anzahl der Personen. Oder einen Plan mit den Tischen im Raum. Genau hier hilft die Technik A2UI.
A2UI: Die technische Basis für schlaue Benutzeroberflächen
Agent-to-User Interface heißt kurz A2UI. Das ist eine offene Technik von der Firma Google. Damit können KI-Agenten direkte Benutzeroberflächen bauen. Sie senden nicht nur einfachen Text. Die KI-Agenten erstellen gute Elemente zum Klicken. Diese Elemente passen genau in Ihre Anwendung.
Vier wichtige Grundsätze
Sicherheit zuerst
Die KI-Agenten senden nur Daten und keinen Code. Ihre Anwendung hat eine Liste mit sicheren Bausteinen. Das System führt keinen fremden Code aus. Das schützt Ihr Programm vor gefährlichen Angriffen.
Gut für die KI
Die Oberfläche ist eine einfache Liste mit Kennungen. Die KI kann diese Liste sehr leicht erstellen. Die KI kann die Liste auch einfach ändern. Der Bildschirm zeigt neue Teile sofort beim Reden an.
Passt zu jedem System
Die KI sendet ein einfaches Datenpaket. Das System zeigt diese Daten überall passend an. Es funktioniert im Internet und in allen Apps. Der Plan für die Ansicht ist völlig unabhängig. Die Technik kümmert sich um die genaue Darstellung.
Offen und anpassbar
Das ist ein offenes System. Entwickler können eigene Bausteine einbauen. Sie können das eigene Aussehen genau bestimmen. Die Entwickler behalten immer die volle Kontrolle. Sie regeln auch die Sicherheit ganz allein.
Aufbau: Vom Plan zur fertigen Anzeige
Der Weg der Daten: Von der KI zur fertigen Ansicht
Der wichtigste Grundsatz: A2UI ist "sicher wie reine Daten". Es bietet aber viele Möglichkeiten wie echter Code. Das ist ein großer Vorteil für viele Firmen. Firmen nutzen diese Technik deshalb sehr gerne.
Ein Beispiel für die Daten
{
"version": "0.8",
"components": [
{
"id": "date-picker-1",
"type": "date-picker",
"props": {
"label": "Reservierungsdatum",
"minDate": "2025-12-31",
"maxDate": "2026-03-31",
"value": "2026-01-15"
}
},
{
"id": "time-slots-1",Die KI beschreibt nur das Ziel.
Sie beschreibt nicht die genaue Umsetzung.
Ihr Programm entscheidet über das genaue Aussehen.
Ein Baustein wie date-picker sieht immer passend aus.
Das Aussehen passt so perfekt zu Ihrer Marke.
Beispiele: Von der Idee in die Praxis
Restaurant-Suche mit einer Landkarte
Frage vom Nutzer
Der Agent prüft
Die Oberfläche entsteht
Nutzer handelt
Sie bekommen keine lange Liste mit Text. Sie erhalten eine Karte mit Ergebnissen. Sie können diese Karte direkt anklicken. Jedes Ergebnis verbindet sich sofort mit Google Maps. Alles fühlt sich wie eine eigene App an.
Drei wichtige Bereiche
Ein Agent erstellt ein passendes Formular für Sie. Das Formular hat genau die richtigen Felder für Ihre Aufgabe:
- Einen Service buchen: Sie wählen ein Datum. Sie stellen Ihr Budget ein. Sie wählen die Art der Leistung.
- Neue Nutzer anmelden: Einige Felder erscheinen nur bei bestimmten Antworten.
- Meinung abgeben: Sie vergeben Sterne. Sie schreiben einen Text. Sie wählen eine von mehreren Antworten.
Das Formular passt sich immer an das Gespräch an. Das Gespräch muss sich nicht an das Formular anpassen.
Die Kommunikation zwischen Agent und Programm
Der genaue Ablauf von einer A2UI-Handlung
A2UI in der Welt der Entwickler
A2UI ist kein einzelnes Projekt. A2UI ist eine feste Regel für Computer. Diese Regel heißt Protokoll. A2UI arbeitet mit anderen Programmen zusammen. Programme für Künstliche Intelligenz entwickeln sich sehr schnell.
Zusammenarbeit von Techniken
| Technik oder Regel | Aufgabe mit A2UI |
|---|---|
| AG UI / CopilotKit | Das ist ein Programm-Paket für Agenten-Apps. Es hilft beim Datenaustausch. A2UI arbeitet hier als Format für Nachrichten mit. |
| A2A Protocol | Das ist eine Regel für den Transport von Daten. Damit tauschen KI-Agenten sicher Nachrichten aus. A2A transportiert die Nachrichten von A2UI. |
| GenUI SDK for Flutter | Das ist ein Werkzeug-Kasten für Flutter-Apps. Eine App ist ein Programm für Handys. Das Programm nutzt A2UI für die Beschreibung der Benutzeroberfläche. |
| REST / HTTP | Entwickler planen die Unterstützung von weiteren Regeln für den Transport. Das verbessert die Zusammenarbeit von den Systemen. |
A2A: Die Regel für den Austausch zwischen Agenten
A2UI regelt den Austausch zwischen Agent und Mensch. Google hat noch eine zweite Regel. Diese Regel heißt Agent2Agent. Die Abkürzung dafür ist A2A. A2A regelt den Austausch zwischen Agenten untereinander. Beide Regeln zusammen sind sehr wichtig. Sie bilden die Grundlage für moderne KI-Systeme.
A2UI – Agent-to-User
Richtung für den Austausch: Agent → Mensch
KI-Agenten erstellen damit neue Bausteine für die Benutzeroberfläche. Sie sehen diese Bausteine direkt in Ihrem Programm. Das Ziel ist eine gute und sichere Bedienung.
A2A – Agent-to-Agent
Richtung für den Austausch: Agent ↔ Agent
Verschiedene KI-Agenten sprechen damit miteinander. Die Marke oder der Hersteller sind dabei egal. Die Agenten tauschen Informationen aus. Sie planen gemeinsam ihre Aufgaben.
Google zeigte A2A im April 2025. Mehr als 50 Firmen unterstützen diese Technik. Bekannte Firmen sind zum Beispiel PayPal, SAP und Salesforce. Die Regel nutzt bewährte Techniken. Diese Techniken heißen HTTP, SSE und JSON-RPC.
So arbeiten A2A und A2UI in der Welt der KI-Agenten zusammen
Wichtige Grundsätze von A2A
| Grundsatz | Erklärung |
|---|---|
| Agentic Capabilities | Mehrere Agenten arbeiten zusammen. Sie nutzen ihre natürliche Arbeitsweise. Sie brauchen dafür keinen gemeinsamen Speicher. Sie brauchen auch keine gemeinsamen Werkzeuge. |
| Bestehende Vorgaben | A2A nutzt bekannte Vorgaben. Diese heißen HTTP, SSE und JSON-RPC. Das macht den Einbau in alte Systeme sehr einfach. |
| Enterprise Security | Das System bietet hohe Sicherheit für Firmen. Es prüft die Zugriffs-Rechte sehr genau. Das funktioniert genau wie bei anderen sicheren Web-Diensten. |
| Long-Running Tasks | Das System unterstützt sehr schnelle Aufgaben. Es unterstützt auch lange Suchen über mehrere Tage. Sie bekommen dabei immer sofort eine Rückmeldung. |
| Modality Agnostic | Das System verarbeitet nicht nur Text. Es verarbeitet auch Ton und Video in Echtzeit. |
Beispiel aus der Praxis: Suche nach Personal
Das ist ein typisches Beispiel für A2A. Ein Chef sucht neues Personal für die Entwicklung. Der Chef gibt seinem Agenten einen Auftrag:
- Der Haupt-Agent bekommt den Auftrag. Er sucht nach passenden Spezial-Agenten.
- Ein Sourcing-Agent sucht in Systemen mit Bewerbern.
- Ein Screening-Agent prüft das Können der Bewerber.
- Ein Calendar-Agent plant die Termine für Gespräche.
- Ein Background-Check-Agent prüft den Lebenslauf der Bewerber.
Alle Agenten sprechen über A2A miteinander. Der Chef sieht die Ergebnisse über A2UI. Alle Systeme arbeiten ohne Probleme zusammen.
Vergleich: A2UI und andere Systeme
| Feature | A2UI | MCP Apps | OpenAI ChatKit |
|---|---|---|---|
| Einbau der Benutzeroberfläche | ✓ | ✕ | ✓ |
| Für alle Plattformen | ✓ | Nur teilweise | ✕ |
| Klar für mehrere Agenten | ✓ | ✕ | Keine Angabe |
| Volle Kontrolle über das Aussehen | ✓ | ✕ | Nur teilweise |
| Sicherheits-Modell | Feste Liste für Erlaubnisse | Abgetrenntes Fenster | Kontrolle durch Anbieter |
| Open Source | ✓ | ✓ | ✕ |
Es gibt einen wichtigen Unterschied zu MCP Apps: MCP behandelt die Benutzeroberfläche als reine Datenquelle. Das passiert oft in einem abgetrennten Fenster. A2UI wählt einen anderen Weg. Die Benutzeroberfläche passt sich immer an das eigene Programm an. Ein Leit-Programm kann die Nachrichten von Unter-Agenten sehr leicht verstehen.
Meinungen aus der Wirtschaft
Große Technik-Firmen nutzen A2UI bereits. Hier sind einige Meinungen dazu:
Der Plan für die Zukunft und wie Sie mitmachen können
Google hat A2UI absichtlich sehr früh veröffentlicht. Es ist jetzt auf der Version 0.8. Das fördert die offene Zusammenarbeit. Sie sind herzlich eingeladen. Gestalten Sie die Zukunft von A2UI gemeinsam mit uns.
Der offizielle Plan bis zur Version 1.0
Feste Regeln für A2UI
Weitere Renderer
Weitere Transports
Einbindung von Agenten
Das Open-Source-Repository
A2UI ist ein offenes Projekt. Der Erfolg braucht die Hilfe der Nutzer. Wir freuen uns über Ihre Beiträge in diesen Bereichen:
- Die Regeln verbessern: Sie können das Format erweitern. Oder Sie helfen bei schwierigen Sonderfällen.
- Programme für Nutzer: Sie können Renderer für neue Systeme bauen. Dazu gehören zum Beispiel Vue, Solid oder Svelte.
- Werkzeuge: Wir brauchen gute Werkzeuge für Entwickler. Auch Programme zur Fehlersuche sind sehr wichtig.
- Gute Beispiele: Schreiben Sie Anleitungen für gute Arbeit. Oder zeigen Sie echte Beispiele aus der Praxis.
A2UI im Enterprise CMS TYPO3
Ein Enterprise CMS ist ein großes System für Internetseiten. A2UI und TYPO3 arbeiten sehr gut zusammen. Das bringt neue Möglichkeiten für das Backend. Das Backend ist der Bearbeitungsbereich der Internetseite. Das Backend passt sich nun an Ihre Arbeit an.
Das bringt diese Vorteile für Sie als Redakteur:
- Sie bekommen automatisch passende Formulare für Ihren Inhalt.
- Eine künstliche Intelligenz hilft Ihnen bei der SEO-Optimierung.
- SEO bedeutet: Sie verbessern die Internetseite für Suchmaschinen.
- Ihre Arbeitsabläufe passen sich genau an Ihre Aufgabe an.
Die Zukunft: KI hilft bei der Arbeit mit TYPO3
Passende Formulare
Die KI prüft Ihre Art von Inhalt. Dann baut die KI ein passendes Formular. Das Formular zeigt nur wichtige Felder an.
Schlaue Dashboards
Ein Dashboard ist eine Übersichtsseite. Diese Übersicht passt sich an Sie an. Sie sehen die passenden Werkzeuge für Ihre Aufgaben. Die Übersicht zeigt Ihnen wichtige Zahlen.
Assistent für Suchmaschinen
Die KI prüft Ihre Texte sofort. Die KI gibt Ihnen gute Tipps für Suchmaschinen. Sie können die Texte dann direkt verbessern.
Überblick über die Architektur
Aufbau der Technik für die Integration von TYPO3 A2UI
Test-Extension: a2ui_integration
Ich zeige Ihnen hier eine fertige TYPO3-Extension. Diese Extension zeigt die neuen A2UI-Ideen. Das funktioniert in TYPO3 Version 13 und 14.
Aufbau der Extension
a2ui_integration/
├── Classes/
│ ├── Controller/
│ │ └── A2UIController.php
│ ├── Domain/
│ │ ├── Model/
│ │ │ └── A2UIComponent.php
│ │ └── Repository/
│ │ └── ComponentRegistry.php
│ ├── Service/
│ │ ├── AgentService.php
│ │ └── RendererService.php
│ └── ViewHelpers/
│ └── RenderComponentViewHelper.php
├── Configuration/1. Einstellungen der Extension
{
"name": "webconsulting/a2ui-integration",
"type": "typo3-cms-extension",
"description": "A2UI Protocol Integration for TYPO3 - AI-driven dynamic UI generation",
"license": "GPL-2.0-or-later",
"authors": [
{
"name": "webconsulting GmbH",
"email": "office@webconsulting.at",
"homepage": "https://webconsulting.at"
}
],
"require": {
"php": "^8.1",
"typo3/cms-core": "^13.0 || ^14.0",2. Backend-Modul anmelden
<?php
declare(strict_types=1);
use Webconsulting\A2uiIntegration\Controller\A2UIController;
return [
'web_a2ui' => [
'parent' => 'web',
'position' => ['after' => 'web_info'],
'access' => 'user',
'workspaces' => 'live',
'path' => '/module/web/a2ui',
'labels' => 'LLL:EXT:a2ui_integration/Resources/Private/Language/locallang_mod.xlf',
'extensionName' => 'A2uiIntegration',3. Wichtige Datenmodelle
<?php
declare(strict_types=1);
namespace Webconsulting\A2uiIntegration\Domain\Model;
/**
* A2UI-Komponentenmodell
* Steht für eine einzelne Komponente im A2UI-Protokoll.
*/
class A2UIComponent
{
protected string $id;
protected string $type;
protected array $props;4. Service-Ebene
<?php
declare(strict_types=1);
namespace Webconsulting\A2uiIntegration\Service;
use Webconsulting\A2uiIntegration\Domain\Model\A2UIComponent;
use TYPO3\CMS\Core\SingletonInterface;
/**
* Agentenservice
* Dieser Service spielt einen KI-Agenten nach. Der Agent erstellt die Komponenten.
* Im echten Betrieb ruft das eine echte KI auf.
*/
class AgentService implements SingletonInterface5. Controller
<?php
declare(strict_types=1);
namespace Webconsulting\A2uiIntegration\Controller;
use Psr\Http\Message\ResponseInterface;
use Webconsulting\A2uiIntegration\Service\AgentService;
use Webconsulting\A2uiIntegration\Service\RendererService;
use TYPO3\CMS\Backend\Template\ModuleTemplate;
use TYPO3\CMS\Backend\Template\ModuleTemplateFactory;
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
/**
* Controller für das A2UI-Backend-Modul.6. Fluid-Templates
<div class="form-group" id="{id}">
<label for="{id}-input" class="form-label">
{props.label}
<f:if condition="{props.required}">
<span class="text-danger">*</span>
</f:if>
</label>
<input
type="text"
class="form-control"
id="{id}-input"
name="{id}"
placeholder="{props.placeholder}"
value="{props.value}"
maxlength="{props.maxlength}"7. JavaScript Renderer
/**
* A2UI Renderer für das TYPO3 Backend.
* Dieser Teil kümmert sich um die Klicks und Eingaben im A2UI.
*/
class A2UIRenderer {
constructor() {
this.components = new Map();
this.eventHandlers = new Map();
}
/**
* Lade die A2UI-Daten in das Ziel-Element.
*/
async render(payload, targetElement) {
if (typeof payload === 'string') {Schritt für Schritt: Eine Extension ganz neu bauen
Machen Sie die A2UI-Extension selbst. Nutzen Sie dafür diese Anleitung. Eine Extension ist eine Erweiterung für ein Computer-Programm. Jeder Schritt baut auf dem letzten Schritt auf.
Schritt 1: Das Grundgerüst für die Extension bauen
Bauen Sie zuerst die Ordner und die wichtigsten Dateien:
# In den TYPO3-Ordner wechseln
cd /var/www/html/typo3
# Ordner für die Extension anlegen (TYPO3 13 und neuer nutzt packages/)
mkdir -p packages/a2ui_integration/Classes/{Controller,Domain/Model,Domain/Repository,Service,ViewHelpers}
mkdir -p packages/a2ui_integration/Configuration/{Backend,TCA/Overrides}
mkdir -p packages/a2ui_integration/Resources/{Private/Templates/A2UI/Components,Public/Css,Public/JavaScript}
# In den Ordner von der Extension wechseln
cd packages/a2ui_integrationTYPO3 13 erlaubt zwei verschiedene Ordner.
Die Ordner heißen typo3conf/ext/ und packages/.
TYPO3 14 möchte nur noch den Ordner packages/ für eigene Extensions.
Wir nutzen hier den Ordner packages/.
Das ist besser für die Zukunft.
Schritt 2: Die grundlegenden Einstellungen
Erstellen Sie diese beiden sehr wichtigen Dateien für die Einstellungen:
<?php
/**
* Einstellungen der Extension für a2ui_integration
*/
$EM_CONF[$_EXTKEY] = [
'title' => 'A2UI Integration',
'description' => 'Agent-to-User Interface Protocol for TYPO3',
'category' => 'be',
'author' => 'Ihr Name',
'author_email' => 'email@example.com',
'state' => 'beta',
'version' => '1.0.0',
'constraints' => [
'depends' => [
'typo3' => '13.0.0-14.99.99',Schritt 3: Das Domain Model erstellen
Ein Domain Model beschreibt die Daten in einem Programm.
Das Model für die A2UIComponent zeigt den Aufbau der Daten.
Die Daten nutzen das Format JSON.
JSON ist eine Textform für den Datenaustausch:
<?php
declare(strict_types=1);
namespace Vendor\A2uiIntegration\Domain\Model;
/**
* Steht für ein einzelnes A2UI-Bauteil
*
* Beispiel für die JSON-Struktur:
* {
* "id": "field-1",
* "type": "text-field",
* "props": {"label": "Name", "required": true}
* }Wichtige Ideen:
- Unveränderlichkeit (Immutability): Alle Eigenschaften sind schreibgeschützt (readonly). Das macht das Programm sicher.
- Constructor Promotion: Das ist eine Funktion ab PHP 8.2. Damit wird der Code kürzer.
- Verschachtelung: Man kann Bauteile in andere Bauteile stecken.
Schritt 4: Das Register für Bauteile (Sicherheitsschicht)
Das Register nutzt eine Erlaubnisliste. Das nennt man Whitelist. Nur eingetragene Bauteile (Components) sind erlaubt:
<?php
declare(strict_types=1);
namespace Vendor\A2uiIntegration\Domain\Repository;
use TYPO3\CMS\Core\SingletonInterface;
/**
* Wichtig für die Sicherheit: Liste der erlaubten Bauteile
*
* Das LLM kann nur diese Bauteile abfragen.
* Das verhindert bösen Code und hält die Oberfläche einheitlich.
*/
class ComponentRegistry implements SingletonInterfaceNehmen Sie niemals Pfade für Vorlagen direkt aus der KI! Das Register sichert Ihr Programm ab. Es erlaubt nur vorher festgelegte Vorlagen. Vorlagen nennt man in TYPO3 Templates.
Schritt 5: Der Agent Service (KI-Simulation)
Der AgentService spielt die Logik der KI nur nach. Im echten Betrieb ersetzen Sie das durch echte API-Aufrufe. Ein API-Aufruf ist eine Verbindung zu einem anderen Programm:
<?php
declare(strict_types=1);
namespace Vendor\A2uiIntegration\Service;
use Vendor\A2uiIntegration\Domain\Model\A2UIComponent;
/**
* Spielt einen KI-Agenten nach. Der Agent baut Bauteile für die Oberfläche.
*
* Im echten Betrieb ersetzen Sie match() durch echte API-Aufrufe:
* - OpenAI GPT-4
* - Google Gemini
* - Anthropic ClaudeSchritt 6: Der Renderer Service
Der Renderer ist ein Übersetzer. Er verwandelt die A2UI-Bauteile in TYPO3 Fluid HTML. Fluid HTML ist die Vorlagensprache von TYPO3:
<?php
declare(strict_types=1);
namespace Vendor\A2uiIntegration\Service;
use Vendor\A2uiIntegration\Domain\Model\A2UIComponent;
use Vendor\A2uiIntegration\Domain\Repository\ComponentRegistry;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Fluid\View\StandaloneView;
/**
* Wandelt A2UI-Bauteile in HTML für das TYPO3 Backend um
*/
class RendererServiceSchritt 7: Der Backend Controller
Der Controller ist die Steuerung. Er verbindet alle Teile miteinander. Er stellt die Funktionen als Modul im TYPO3 Backend bereit:
<?php
declare(strict_types=1);
namespace Vendor\A2uiIntegration\Controller;
use Psr\Http\Message\ResponseInterface;
use Vendor\A2uiIntegration\Service\AgentService;
use Vendor\A2uiIntegration\Service\RendererService;
use TYPO3\CMS\Backend\Template\ModuleTemplateFactory;
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
class A2UIController extends ActionController
{
public function __construct(Schritt 8: Die Fluid Templates erstellen
Erstellen Sie jetzt die Vorlagen für die Bauteile. Diese Vorlagen heißen Templates:
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
data-namespace-typo3-fluid="true">
<div class="form-group mb-3">
<label for="{id}" class="form-label">
{props.label}
<f:if condition="{props.required}">
<span class="text-danger">*</span>
</f:if>
</label>
<input
type="text"
class="form-control"
id="{id}"Schritt 9: Backend-Modul eintragen
Das Backend ist der Verwaltungs-Bereich von Ihrer Internetseite.
<?php
use Vendor\A2uiIntegration\Controller\A2UIController;
return [
'web_a2ui' => [
'parent' => 'web',
'position' => ['after' => 'web_info'],
'access' => 'user',
'workspaces' => 'live',
'iconIdentifier' => 'module-web',
'path' => '/module/web/a2ui',
'labels' => 'LLL:EXT:a2ui_integration/Resources/Private/Language/locallang_mod.xlf',
'extensionName' => 'A2uiIntegration',
'controllerActions' => [Schritt 10: Erweiterung einschalten und testen
# Autoload erneuern
composer dump-autoload
# Erweiterung einschalten
./vendor/bin/typo3 extension:activate a2ui_integration
# Cache leeren
./vendor/bin/typo3 cache:flush
# Freiwillig: Symlink für öffentliche Dateien erstellen
./vendor/bin/typo3 extension:setupSie haben nun alle 10 Schritte gemacht. Ihre A2UI-Integration in TYPO3 funktioniert nun. Sie finden das Backend-Modul im Menü. Klicken Sie dort auf Web. Klicken Sie danach auf A2UI Agent Interface.
Die Extension herunterladen
Möchten Sie die Extension direkt nutzen? Sie müssen nicht alles selbst nachbauen. Hier können Sie die fertige Extension herunterladen. Eine Extension ist eine Erweiterung für ein Programm.
Fertige Einbindung von A2UI für TYPO3 13 und 14. Die Datei enthält alle wichtigen Teile. Dazu gehören Services, 7 UI-Components, ein Backend-Modul und der JavaScript-Client.
Inhalt der Extension
- 5 PHP-Klassen (Controller, Services, Models)
- 7 Fluid-Vorlagen für UI-Components
- JavaScript-Renderer für den Browser
- Backend-Modul mit einer Übersicht
- Eine genaue Anleitung (README)
Systemanforderungen
- TYPO3 Version 13.0 bis 14
- PHP ab Version 8.2
- Unterstützung für Composer
- Apache 2.0 Lizenz (genau wie A2UI)
Live-Demo: Vom Wunsch zur Benutzeroberfläche
Hier sehen Sie ein Beispiel. Ein Nutzer hat ein bestimmtes Ziel. Das Programm baut daraus eine neue Benutzeroberfläche. Man nennt das auch UI.
Ablauf: Von der Anfrage zur neuen Benutzeroberfläche
Installation und Nutzung
Erweiterung installieren
Erweiterung einschalten
Modul öffnen
Beispiele testen
API-Endpunkte
| Endpunkt | Methode | Beschreibung |
|---|---|---|
| /typo3/module/web/a2ui/dashboard | GET | Haupt-Übersicht mit Beispielen für Intents |
| /typo3/module/web/a2ui/generate | GET | Benutzeroberfläche erstellen: ?intent=create+page&format=json |
| /typo3/module/web/a2ui/demo | GET | Alle Beispiele für Komponenten anzeigen |
Wie Sie das System erweitern
Prüfliste für den Start
Sicherheit verbessern:
- Bauen Sie eine Grenze für API-Aufrufe ein. Das nennt man Rate-Limiting.
- Prüfen und bereinigen Sie alle Eingaben von Nutzern.
- Führen Sie eine strenge Liste für erlaubte Komponenten.
- Speichern Sie API-Schlüssel sicher in den Einstellungen der Erweiterung.
Leistung verbessern:
- Speichern Sie oft genutzte Teile der Oberfläche zwischen. Das nennt man Caching.
- Laden Sie JavaScript-Module erst bei Bedarf. Das nennt man Lazy-Loading.
- Verbessern Sie die Anzeige der Komponenten über AJAX.
Programm testen:
- Schreiben Sie Unit-Tests für den AgentService und den RendererService.
- Schreiben Sie Integration-Tests für die Controller-Actions.
- Testen Sie die Sicherheit bei der Prüfung von Komponenten.
Zusammenfassung: Darum ist das für neue Programme wichtig
Generative UI mit A2UI ist ein großer Schritt. So bekommen wir sehr schlaue Helfer im Computer. Diese Helfer passen sich gut an. Es gibt 4 große Vorteile:
Mehr Sicherheit
Das System führt den Programmcode nicht direkt aus. Das schützt sehr gut vor Angriffen. Das Hauptprogramm hat immer die volle Kontrolle. Es bestimmt alle erlaubten Teile.
Gutes Erlebnis für Nutzer
Das Hauptprogramm nutzt eigene Teile für die Oberfläche. Dadurch sieht das Design immer gut aus. Es gibt keine fremden Teile auf der Internetseite. Die Marke sieht überall gleich aus.
Gleiche Technik für alle Geräte
Das System sendet ein einfaches Datenpaket. Dieses Paket heißt JSON. Die Anzeige funktioniert danach auf allen Geräten. KI-Helfer bauen die Oberflächen für alle Systeme. Das klappt auf dem Handy und am Computer.
Schnellere Entwicklung
Die KI-Helfer bauen passende Oberflächen. Das geschieht ganz automatisch. Entwickler haben dadurch weniger Arbeit. Sie können neue Ideen viel schneller testen.
Eine große Veränderung
GenUI ist eine ganz neue Technik. Früher bauten Entwickler eine Oberfläche für alle Nutzer. Heute baut die KI eine eigene Oberfläche für jede Person.
Das ist ein sehr wichtiger Schritt. So bekommen wir sehr gute digitale Helfer. Diese Helfer kennen uns und unsere Aufgaben.
Für Firmen bedeutet das:
- Mehr Erfolg: Die Nutzer bekommen genau die passende Oberfläche.
- Weniger Kosten: Die Entwickler sparen viel Zeit und Geld.
- Einfaches Wachstum: Das System wächst bei neuen Aufgaben gut mit.
Möchten Sie A2UI in Ihrem Projekt nutzen? Oder möchten Sie diese neue Technik testen? Wir helfen Ihnen sehr gerne dabei. Wir planen und bauen das System mit Ihnen. Kontaktieren Sie uns für ein erstes Gespräch.