Suche
Interview mit Tobias Struckmeier

Was ist eigentlich Redux?

Redaktion JAXenter

Tobias Struckmeier

Wie funktioniert Redux? Was sind die Vorteile vom Debuggen? Und was hat Redux eigentlich mit React zu tun? All diese Fragen beantwortet Tobias Struckmeier, Software Entwickler bei Crosscan, im Interview mit Mirko Hillert zu den React Days 2017. Er erklärt zudem, wie man mit den Entwicklertools von Redux ein wenig durch die Zeit reisen kann…

Mirko Hillert: Was verbirgt sich hinter dem Begriff Redux?

Tobias Struckmeier: Redux ist eine Wortkombination aus Reducern und Flux. Es geht dabei um einen Predictable-State-Container, also eine Library, mit der ich meinen Application State auf bestimmte Art und Weise managen kann.

Mirko Hillert: Wie funktioniert Redux?

Tobias Struckmeier: Redux ist ein Predictable-State-Container, der zwei Patterns unterliegt. Das eine ist eine Command Query Responsibility Segregation (CQRS), bei der die Trennung der Veränderung am State, rein über Commands erfolgt. Ich gebe Commands ein, dispatche sie an meinen Store und anschließend ändern Reducer meinen eigentlichen Applications State. Das zweite Pattern ist das Event Sourcing. Ich gebe Abfolgen von Commands an meinen State und kann diese aufgrund des Basis-States jederzeit neu abspielen. Zum Schluss erreiche ich immer wieder den gleichen End State – das ist Redux. Damit hat man immer einen konsistenten State, den ich testen und nachvollziehen kann und mit dem auch weitere Features benutzt werden können. Diese erleichtern mir das Entwickeln, sowie das Debuggen einer Anwendung und auch die Fehleranfälligkeit meiner Anwendung (auf den Store bezogen) wird reduziert.

For free: The iJS React Cheat Sheet

For free: The iJS React Cheat Sheet

You want to get started with React? Our Cheat Sheet includes all the most important snippets. Get the sheet for free!

 

API Summit 2018
Christian Schwendtner

GraphQL – A query language for your API

mit Christian Schwendtner (PROGRAMMIERFABRIK)

Mirko Hillert: Was sind die Vorteile vom Debuggen?

Tobias Struckmeier: Der Vorteil ist, dass ich diesen State habe und immer dieselbe Ausführung von Commands, welche letztendlich wieder zum gleichen State führen. Daher kann ich einen schon vorhandenen State und diese Abfolge aus meiner Anwendung übernehmen und immer wieder abspulen. Wenn ich also einen Fehler beheben möchte, muss ich mich nicht durch mehrere Formulare klicken, um meinen State wieder genauso herzustellen. Ich kann meinen Code direkt fixen und über Hot Code Reloading dafür sorgen, dass er geladen wird. Der State wird dann wieder darauf angewandt und generiert einen sehr eleganten Entwicklungsworkflow.

In meiner Anwendung ist jeder Zeit erkennbar, wie mein State aussieht und wie er sich durch das letzte Command verändert hat. Das führt letztendlich dazu, dass ich mit den Redux-Developertools eine Art Timetravelling machen kann. Wenn ich mich durch meine Anwendung geklickt habe und etwas erneut abspielen oder zurück zu einem bestimmten Zeitpunkt spulen möchte, dann bewege ich einfach einen Slider und bin wieder an einem anderen State. Anschließend kann mich dort nochmal durchklicken und einsehen, was mit meinem gefixten, geänderten Code passieren würde.

Mirko Hillert: Was hat Redux mit React zu tun?

Tobias Struckmeier: Während Redux ein Application State ist, ist React eine View Library, die erstmal keinen vorgegebenen Application State hat. Redux kann man sehr schön mit React verbinden und es kann auch in einem Angular-Kontext verwendet werden. Wenn man also das Pattern lernt, hilft das eventuell auch dort weiter. In meinem Workshop auf den React Days 2017 habe ich etwa eine bestehende kleine React-Anwendung, die noch keinen State hat, mit Redux um einen Application State angereichert.

Mirko Hillert: Vielen Dank für das Interview!

Tobias Struckmeier ist Software Entwickler bei Crosscan in Witten. Er beschäftigt sich seit 2000 mit Webentwicklung, sowohl im Backend mit PHP (vorher .NET) und NodeJS als auch im Frontend mit JavaScript & CSS. Die Erfahrung aus mehreren JavaScript Frameworks wie JQuery, ExtJS, AngularJS und ReactJS unterstützen ihn dabei gute Lösungen zu finden. Um Wissensaustausch zu fördern und somit die Entwicklung qualitativer Software zu unterstützen, gründete er die PHP Usergroup Dortmund. In der OpenTechSchool Dortmund organisiert er Programmierkurse für Anfänger.

 

Mirko Hillert verantwortet seit 2007 als Leiter Entwickler Akademie den Trainingsbereich bei Software & Support Media. Er studierte Betriebswirtschaft an der Westsächsischen Hochschule Zwickau und der Universidad Valencia sowie Marketing an der Westfälischen Wilhelms-Universität Münster. Als ehemaliger Dozent und Ausbilder für Managementprozesse treibt er seit vielen Jahren die fundierte Aus- und Weiterbildung von Entwicklern und Softwarearchitekten im IT-Markt voran, unter anderem mit innovativen Eventformaten und hochwertigen Trainingsinhalten.

Verwandte Themen:

Geschrieben von
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: