

Signal Forms bringen Angular einen entscheidenden Schritt weiter: Formulare werden Teil des Signal-basierten Reaktivitätsmodells und verlieren ihren bisherigen Sonderstatus. Der Artikel zeigt kompakt, wo die Vorteile liegen und vor allem, wie bestehende Enterprise-Anwendungen schrittweise und ohne großen Umbruch migriert werden können.
Angular baut sein Reaktivitätsmodell seit einiger Zeit konsequent um. Signals sind inzwischen die neue Grundlage. State, Ableitungen und Effects folgen einer deutlich klareren Logik als früher. Was dabei lange nicht zusammengepasst hat, waren Formulare. Denn während der Rest der Anwendung zunehmend signal-basiert wird, hängen diese noch an Reactive Forms.
Zum einen ist dabei der RxJS-basierende Aufbau ein architektonischer Bruch, und zum anderen bringen Reactive Forms auch unabhängig von der Signals Migration schnell eine gewisse Komplexität und Unberechenbarkeit in die Applikation. Viel verteilter Code mit verschachtelten FormGroup Models und Definitionen, Seiteneffekte mit valueChanges Subscriptions und Change Detection Probleme bei Formularen, die sich über mehrere Komponenten verstreuen.
Mit den neuen Signal Forms bietet Angular jetzt einen Formularansatz, der voll auf Signals basiert und so einiges an Boilerplate Code verliert.
Der grundlegende Unterschied ist schnell verstanden. Statt mit FormGroup und FormControl zu starten, definiert man zuerst ein Model, welches die zentrale Quelle für den gesamten Form-State ist.
Das von der form() Funktion zurückgegebene Objekt vom Typ FieldTree ermöglicht den Zugriff auf die jeweiligen FieldState Objekte. Somit können Formularwerte und Zustände einzelner Felder ganz einfach als Signals ausgelesen und weiterverarbeitet werden.
Im Template bindet man mithilfe des importierten formField Directives direkt auf die FieldState Properties:
Der große Unterschied zeigt sich im Verhalten. Änderungen laufen synchron durch das System, ohne Subscriptions oder valueChanges. State und Change Detection werden somit berechenbarer.
Die neuen Signal Forms bieten noch zahlreiche weitere Features out of the box, für die es bis jetzt oft eine Custom Logik brauchte. Dazu zählen unter anderem:
Für neue Projekte ist die Richtung ziemlich klar. Auch wenn das Feature noch als experimentell markiert ist, haben andere Features gezeigt, dass sich Breaking Changes in neuen Angular Releases in Grenzen halten. Zumindest ist es anzunehmen, dass eine Migration von Reactive Forms mehr Kopfschmerzen bereiten würde, als ein paar kleinere Anpassungen an der Signal Forms API in zukünftigen Versionen.
In bestehenden Anwendungen sieht das anders aus. Formulare gehören dort oft zu den komplexesten Teilen der Anwendung. Validierungen, Abhängigkeiten zwischen Feldern, API-Integration oder auch historisch gewachsene Logik machen einen einfachen Austausch schwierig.
Deshalb ist die zentrale Frage nicht, ob Signal Forms Reactive Forms ersetzen, sondern wie man den Übergang sinnvoll gestaltet.
Statt eines harten Umstiegs gibt es seit Angular 21.2 zwei gezielte Integrationspunkte, mit denen sich beide Ansätze kombinieren lassen und somit eine schrittweise Migration von komplexeren Formularen ermöglichen.
Mit SignalFormControl können einzelne Controls innerhalb eines bestehenden Reactive Forms modernisiert werden, ohne das gesamte Formular umzubauen.
SignalFormControl implementiert AbstractControl und verhält sich somit nach außen hin wie ein normales FormControl. Das bestehende Formular bleibt stabil, inklusive Validierung und Status.
Der Vorteil zeigt sich eher intern. Man kann auf das zugrunde liegende Signal zugreifen und es direkt weiterverwenden:
So lässt sich Logik, die bisher in valueChanges hing, schrittweise in eine signal-basierte Struktur überführen.
Der zweite Einstiegspunkt geht in die andere Richtung. Hier baut man ein Signal Form auf, integriert aber weiterhin bestehende Reactive Forms.
Im Template werden beide Ansätze kombiniert:
Das erlaubt es, neue Teile bereits signal-basiert umzusetzen, während bestehende Strukturen unverändert bleiben.
In der Praxis ergibt sich folgende mögliche Migrationsstrategie:
Signal Forms zeigen, in welche Richtung sich Angular entwickelt. Formulare werden Teil des gleichen reaktiven Systems und lassen sich deutlich konsistenter modellieren als bisher. Gerade die Möglichkeiten bei Validierung und Struktur sind flexibler und besser wiederverwendbar, ohne dass viel zusätzliche Logik nötig ist.
Auch wenn das Feature noch experimentell ist, lohnt sich ein Einstieg über einzelne Features. So bekommt man schnell ein Gefühl dafür, wo der Ansatz im eigenen Projekt echten Mehrwert bringt.