Riverpod

Riverpod


He trabajado con Getx y Bloc como manejadores de estado de Flutter. Últimamente me di la oportunidad de trabajar con Riverpod, y la verdad es una facilidad y comodidad de gestor de estado, programas de una forma limpia separando lógica de negocio en los Providers.

Riverpod se caracteriza por realizar solicitudes de red con manejo de errores y almacenamiento en caché integrados, mientras recupera datos automáticamente cuando es necesario.

El problema es que trabajar con código asincrónico es difícil. Aunque Flutter viene con alguna forma de crear variables de estado y actualizar la interfaz de usuario en caso de cambio, todavía es bastante limitado. Varios desafíos siguen sin resolverse:

  • Las solicitudes asincrónicas deben almacenarse en caché localmente, ya que no sería razonable volver a ejecutarlas cada vez que se actualiza la interfaz de usuario.
  • Como tenemos un caché, nuestro caché podría quedar desactualizado si no tenemos cuidado.
  • También necesitamos manejar errores y estados de carga.

Riverpod maneja el caché interno con su gestor de estado propio haciendo referencia a propiedades como WATCH y READ, las cuáles destacan en este gestor.

El presente código muestra un provider de Riverpod para cambiar el estado del modo claro a modo oscuro, guardando su estado en caché. Codigo en desarrollo

El presente código muestra como es el uso del riverpod y su manejo dentro de Widgets Codigo compilado