Repolode
felangel

felangel/bloc

Biblioteca de gestión de estado para Dart que implementa el patrón BLoC y separa la presentación de la lógica de negocio; se usa principalmente con Flutter y AngularDart.

Estrellas
12,483
Forks
3,414
Issues abiertos
83
Último commit
ayer

¿Qué es?

Bloc es una biblioteca predecible de gestión de estado para Dart que implementa el patrón de diseño BLoC (Business Logic Component). Su objetivo es separar la presentación de la lógica de negocio para que el código sea más fácil de probar y reutilizar.

El repositorio es un monorepo con varios paquetes. El paquete principal bloc proporciona las clases Bloc y Cubit; flutter_bloc ofrece widgets de Flutter para conectar los blocs con la interfaz de usuario, y hydrated_bloc conserva el estado entre reinicios de la aplicación. Otros paquetes añaden transformadores para la concurrencia de eventos (bloc_concurrency), herramientas para pruebas unitarias (bloc_test), un conjunto de reglas de lint (bloc_lint) y replay_bloc, que ofrece un historial con funciones para deshacer y rehacer. angular_bloc está dirigido a aplicaciones AngularDart.

El proyecto está mantenido por Felix Angelov y cuenta con documentación en bloclibrary.dev, que incluye tutoriales y una guía de migración.

Funciones clave

  • 01Proporciona las clases Bloc y Cubit para gestionar el estado en código Dart.
  • 02Incluye widgets de flutter_bloc para conectar el estado con la interfaz de usuario de Flutter.
  • 03Ofrece hydrated_bloc para conservar el estado entre inicios de la aplicación.
  • 04Proporciona herramientas de bloc_test para probar blocs mediante pruebas unitarias.
  • 05Incluye transformadores de bloc_concurrency para controlar cómo se procesan los eventos.

Casos de uso

  • Organizar la gestión del estado en una aplicación Flutter para que los widgets de la interfaz de usuario no contengan lógica de negocio.
  • Escribir pruebas unitarias para la lógica de la aplicación que no depende de la interfaz de usuario.
  • Conservar el estado de la aplicación entre reinicios con hydrated_bloc.
  • Compartir lógica de negocio en Dart entre una aplicación Flutter y una aplicación web AngularDart.

Antes de usarlo

  • Su uso está ligado al ecosistema de Dart, principalmente a Flutter y AngularDart.

Temas

Preguntas frecuentes

¿Qué es bloc?
Biblioteca de gestión de estado para Dart que implementa el patrón BLoC y separa la presentación de la lógica de negocio; se usa principalmente con Flutter y AngularDart. Bloc es una biblioteca predecible de gestión de estado para Dart que implementa el patrón de diseño BLoC (Business Logic Component). Su objetivo es separar la presentación de la lógica de negocio para que el código sea más fácil de probar y reutilizar.
¿bloc es gratuito? ¿Qué licencia tiene?
bloc es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿bloc sigue mantenido?
Mantenimiento activo. El último commit de bloc fue el 20 oct 2026.
¿Para qué puedo usar bloc?
Organizar la gestión del estado en una aplicación Flutter para que los widgets de la interfaz de usuario no contengan lógica de negocio. Escribir pruebas unitarias para la lógica de la aplicación que no depende de la interfaz de usuario. Conservar el estado de la aplicación entre reinicios con hydrated_bloc. Compartir lógica de negocio en Dart entre una aplicación Flutter y una aplicación web AngularDart.
¿Dónde consigo bloc?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/felangel/bloc

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados