¿Qué es la reactividad?

6/37
Recursos

Aportes 11

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Reactividad en vue.js

Lo primero que debemos saber es que la reactividad es un paradigma, una forma caracteristica de actuar ante cierta situcación. Que un sistema sea reactivo implica una mayor flexibilidad, un bajo acoplamiento, lo que facilita el desarrollo y escalabilidad, pues son sistemas susceptibles a los cambios.

Existen una serie de caracteristicas que deben tener los sistemas reactivos, veamos cuales son

  • Responsive: Poseen una capacidad de respuesta, donde los problemas pueden detectarse rapido y ser tratados de forma eficiente para que asi el sistema puede responder de forma eficiente, esto permite darle a los usuarios una mayor confianza y asi incentivar el uso del sistema.

  • Resiliente: Todo sistema reactivo debe funcionar incluso cuando existan errores, debe mantenerse receptivo. Al estar los sistemas compuestos por componentes, las fallas se presentan de forma independiente dentro de cada uno de ellos, lo que permite que ciertan partes puedan fallar y recuperarse sin comprometer el funcionamiento total del sistema.

  • Escalable: El sistema debe estar en capacidad de crecer sin problemas, es receptivo a carga de trabajo que cambian en cualquier momento. Debe tener la capacidad de replicar o fragmentar componentes y distribuir las entradas entre todos ellos. Estos sistemas generalente admiten algoritmos de escalado.

  • Arquitectura basada en mensajes: Los sistemas reactivos se caracterizan por tener una comunicación a traves del paso de mensajes asincronicos, donde existe una transparencia en la ubicación del destinatario. Esto permite tener un mejor flujo de mensajes, donde se supervisa la cola de mensajes que existe en el sistema. Estas comunicaciones son impulsadas por eventos.

La reactividad es un PARADIGMA
.
El paradigma de reactividad indica 4 cosas:
.

  1. Responsive: Tiene que ser resiliente y escalable, para ello debe estar basado en una arquitectura de mensajes. Debe ser capaz de reaccionar rápidamente a sus usuarios
  2. Resiliente: Que funciona incluso en situaciones de error
  3. Escalable: Que puede crecer sin problemas; está preparado para una gran cantidad de usuarios e información.
  4. Message-driven: Es la fundación de todo lo que es un sistema reactivo, una comunicación asíncrona.
    .
    Un ejemplo es Twitter 👀

La reactividad , al ser un paradigma (como la programación funcional), puede ser aplicada a más de un lenguaje. Tanto es así, que se han creado librerías para facilitar el desarrollo (y la vida de los desarrolladores), ahorrando tiempo, aumentando la productividad y construyendo sistemas más robustos y escalables.

Complementando:
La programación reactiva, es un paradigma basado en datos que fluyen continuamente, donde éstos reaccionan a los datos ejecutando una serie de eventos.
Como lo mencionamos, la reactividad se basa en el patrón de diseño observer, lo que significa que cuando hay un cambio de estado en un objeto, los otros objetos son notificados y actualizados acorde.
Sin embargo, este paradigma es dependiente de otro llamado “Programación Orientada a Eventos”, el que básicamente la ejecución de modelos están determinados por los sucesos que ocurran en el sistema, definidos por el usuario o que ellos mismos provoquen.

Que es un paradigma? - Un paradigma es todo modelo, patrón, guia o ejemplo que se debe seguirse en determinada situación.

Cuando se habla del paradigma de reactividad, significa que debemos aplicar adecuadamente conceptos como Responsive, Resiliente, Escalable y una Arquitectura basada en mensajes para obtener un sistema reactivo.

La reactividad no es una tendencia ni una librería, es un paradigma. Los paradigmas son reglas específicas para crear un sistema.

El paradigma de reactividad indica cuatro cosas:

Un sistema reactivo tiene que ser responsivo, es decir, tiene que ser resiliente y escalable. Y para lograr esto necesita ser un sistema con una arquitectura basada en mensajes.

  • Responsivo: Un sistema capaz de reaccionar rápidamente a sus usuarios, en situaciones buenas o malas.
  • Resiliente: Funciona incluso en situaciones de error. No es únicamente desarrollado en situaciones donde todo es perfecto.
  • Escalable: Un sistema que puede crecer sin problema para una gran cantidad de usuarios e información.
  • Arquitectura basada en mensajes: Comunicación asíncrona.
    • Mensajes: Tienen destino
    • Eventos: Que tienen observadores

Un ejemplo de un sistema con todas estas características es Twitter.

Ventaja de vue sobre react
Optimización en la detección del cambio de estado - En React por defecto cada componente se renderiza de nuevo cuando es detectado un nuevo cambio de estado o un cambio en las propiedades, para evitar esto es necesario usar PureComponent o implementar el ciclo de vida shouldComponentUpdate con las condiciones exactas para la nueva renderización y evitar pérdida de ciclos de renderizado. Sin embargo en Vue las dependencias del componente se rastrean de manera automática de forma que el sistema sabe con exactitud qué componentes deben renderizarse de nuevo a cada cambio de estado, es decir, el equivalente en React a una implementación automática de shouldComponentUpdate.

¿Qué es la reactividad?

La reactivid es un paradigma.

Un sistema reactivo tiene que ser resiliente (funciona incluso en situaciones de error) y escalable (puede crecer sin problemas). Es una arquitectura basada en mensajes (tienen destino, comunicación asíncrona).

Para que un sistema sea Responsivo, bajo el paradigma de la Reactividad, este debe ser Resiliente : Dar respuesta al usuario aún en situaciones de error.
Escalable: Poder crecer según la demanda de recursos y/o de funcionalidades.
Además, para considerarse un sistema Reactivo, también debe ser:
Message-Driven: Puede hacer uso de Mensajes y Observadores (Watchers) que responden a eventos.

Reactividad

Es un paradigma, tiene que ser responsivo que sea resistente y escalable y tiene que estar basado en una arquitectura basada en mensajes.

Responsivo. Es un sistema capaz de reaccionar rápidamente a sus usuarios, en situaciones buenas y malas.

Resiliente. Es un sistema que funciona incluso en situaciones de error, está preparado para situaciones que sean malas.

Escalable. Es un sistema que puede crecer sin ningún problema, es un sistema preparado para una gran cantidad de usuarios o una gran cantidad de información.

Arquitectura basada en mensajes. Es la fundación de un sistema reactivo, es decir tiene una comunicación asíncrona. Son sistemas que tienen mensajes, con un destino específico en una aplicación y tienen también eventos con observadores.