Redux is an application state manager for JavaScript applications, and keeps with the core principles of the Flux-architecture by having a unidirectional data flow in your application.
Where Flux applications traditionally have multiple stores, Redux applications have only one global, read-only application state. This state is calculated by "reducing" over a collection or stream of actions that update it in controlled ways.
The Redux pattern has become very popular and has inspired Ngrx which is exclusive to Angular2/RxJS.
In this course we discuss a more traditional Redux pattern using the Ng2-Redux bindings library.