© StonePictures/Shutterstock.com
Von reaktiven UIs und expliziten Datenflüssen

Kolumne: EnterpriseTales


Moderne Webapplikationen sollen reaktiv sein. Zumindest propagieren das viele etablierte Web-Frameworks. Aber was bedeutet Reaktivität in diesem Kontext eigentlich genau? Warum sollte man sie einsetzen und inwiefern erleichtert sie dem Frontend-Entwickler das Leben?

Der Begriff „reactive“ oder Reaktivität hat sich mittlerweile fest im Umfeld der Softwareentwicklung etabliert. Doch in meinem Alltag habe ich nicht das Gefühl, dass jeder damit das Gleiche meint. In Summe fallen mir besonders drei unterschiedliche Auslegungen von Reaktivität auf. Zur ersten Gruppe, zu der ich mich auch zähle, gehören überwiegend Frontend-Entwickler. Sie verwenden den Begriff der Reaktivität vor allem im Zusammenhang mit funktional geprägten Programmierstilen und Frameworks. Auch die zweite Gruppe besteht aus Entwicklern, diese sind allerdings eher Backend-fokussiert. Sie verbinden mit Reaktivität das Verhalten ganzer Systeme im Sinne des Reaktiven Manifests [1] und seiner Prinzipien: antwortbereit, widerstandsfähig, elastisch und nachrichtenorientiert.

Die dritte und mit Abstand größte Gruppe assoziiert mit „reactive“ einfach nur ergonomische, intuitive Bedienbarkeit des UI. Insbesondere gehören hierzu direktes Feedback auf Eingaben und eine in sich konsistente Darstellung der Anwendung. Diese Eigenschaft wird nachfolgend als Responsiveness bzw. responsive bezeichnet.

Bezogen auf Frontend-Entwicklung sind sowohl die erste als auch die dritte Interpretation von Reaktivität relevant. Viele verbreitete Frontend Frameworks schreiben sich reaktive Programmierung auf die Fahne, und eine gute Responsiveness ist einer der Hauptgründe für den Einsatz solcher Frameworks.

Reactive, responsive oder beides?

Hat also Responsiveness etwas damit zu tun, ob die eingesetzte Technologie reaktiv ist? Eigentlich erstmal nicht. Es lassen sich auch mit jQuery oder purem JavaScript superergonomische Webseiten bauen, die allen Ansprüchen an User Experience (UX) gerecht werden. Aber der Einsatz von Frameworks wie React oder Angular vereinfacht es in der Regel, dieses Ziel zu erreichen. Vor allem wenn die Anwendung größer wird, helfen diese Frameworks bei der Strukturierung. Man kann also sagen: Reaktivität und Responsiveness bedingen sich zwar nicht, widersprechen sich aber auch nicht. Sie stehen orthogonal zueinander.

Reaktive UI-Programmierung

Die etablierten Frontend Frameworks brüsten sich damit, reaktiv zu sein. Hier ein paar Beispiele:

  • Svelte [2] ist „truly reactive“

  • React [3] trägt Reaktivität...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang