Menu

¿Qué es Redux?

angularnewsionicreduxngrx - September 05, 2018 por Nicolas Molina

Redux es un contenedor del estado para aplicaciones en JS, muy popular en los últimos años, gracias a su patrón podemos manipular flujos de datos complejos y controlar el estado de una aplicación en JavaScript de forma eficiente y escalable.

Seguramente han escuchado mucho acerca de Redux, en los últimos años se va vuelto una tendencia y varios desarrolladores que están iniciando se preguntan se preguntan constantemente, si Redux es:

  • ¿Un nuevo framework?
  • ¿Una nueva librería?
  • ¿Algo que solo va integrado a React?

Pero realmente el trabajo de Redux es controlar el estado de las aplicaciones del lado del Front End. Pero ¿Qué es controlar el estado? ¿El estado de las aplicaciones no era controlado anteriormente?

Para entender el concepto esencial de Redux es necesario echar un vistazo al estado actual del FrontEnd y sus retos, las aplicaciones SPA deben controlar un número de cosas bastante complejas como:

  • Respuestas del lado del servidor.
  • Datos en locales o en cache.
  • Estados de la UI.
  • Routing.
  • UI/UX.
  • Tener una arquitectura escalable.
  • El peso de esta misma.
  • Seguridad.
  • Etc.

Pero sin duda varios de estos retos se solucionan escogiendo un framework ya que precisamente un framework nos ofrece una solución a cada uno de estos puntos.

Sin embargo, la arquitectura de datos es algo que cambia con cada framework y también con el pasar de lo años, es decir a través del tiempo hemos visto arquitecturas como:

  • Model View Controller
  • Model View Collection
  • Model View Model Collection
  • Flux

Y cada vez que se aumentan los requerimientos y la aplicación continua creciendo y como consecuencia tenemos que:

“En cierto punto, ya no se entiende que esta pasando en la aplicación ya que perdiste control sobre el cuándo, el por qué y el cómo de su estado”

Exactamente esto es lo que resuelve Redux, al proponer una arquitectura de datos que hace predecibles los cambios del estado, con Redux se envuelve la aplicación en una arquitectura datos que hace que el control del estado sea homogéneo, sin importar el framework que se use ya sea React, Angular, Vue o VanillaJS.

Illustration by Beebee

Por eso en el video siguiente, me enfoco a dar una explicación clara de Redux y en los conceptos que lo rodean sin entrar en código duro.

¡Compártelo!