Redux

A predictable state container for JavaScript apps

Redux und auch ähnliche Frameworks wie MobX oder das Framework Flux, das Redux stark beeinflusst hat, haben zu einer kleinen Revolution in der JavaScript-Oberflächen-Entwicklung geführt. Während bisher MVC, MVVM und ähnliche Variationen die vorherrschenden Architekturentwürfe waren, funktioniert die nach Flux benannte Flux-Architektur nach einem anderen Prinzip. Der Zustand der Anwendung wird in sogenannten Stores gepflegt. Die Oberfläche bekommt nur einen unidirektionalen Datenfluss zur Verfügung gestellt und Änderungen werden durch klar definierte Actions ausgelöst, über Dispatcher an die Stores verteilt und führen zu einer oder mehreren Zustandsänderungen, die die Oberfläche wieder darstellt.

Redux geht hierbei noch einen Schritt weiter, in dem es nur einen einzelnen, hierarchischen Store hat und Änderungen durch funktionale Programmierweisen durchführt. Das reduziert die Komplexität nochmals stark und erhöht wiederum die Testbarkeit.

andrena hat sich daher früh mit diesem Architekturansatz beschäftigt und erfolgreich mehrere komplexe Projekte entwickelt. Beispielsweise setzt auch die neuste Version des ASE Team Empowerment Programms auf React und Redux für das Frontend.

Rouven Röhrig, Softwareentwickler

"Ich nutze Redux sehr gerne in Webapplikationen, da es Programmzustände transparent und vorhersagbar macht. Das ermöglicht denkbar einfaches Debugging, was aufgrund der hohen Testbarkeit jedoch nur selten notwendig ist."