Repolode
felangel

felangel/bloc

Biblioteca de gerenciamento de estado para Dart que implementa o padrão BLoC para separar a apresentação da lógica de negócios, usada principalmente com Flutter e AngularDart.

Estrelas
12,483
Forks
3,414
Issues abertas
83
Último commit
ontem

O que é?

Bloc é uma biblioteca previsível de gerenciamento de estado para Dart que implementa o padrão de projeto BLoC (Business Logic Component). Seu objetivo é separar a apresentação da lógica de negócios, facilitando os testes e o reuso do código.

O repositório é um monorepo com vários pacotes. O pacote principal bloc fornece as classes Bloc e Cubit; flutter_bloc oferece widgets Flutter para conectar blocs à UI; e hydrated_bloc persiste o estado entre reinicializações do app. Outros pacotes adicionam transformers para concorrência de eventos (bloc_concurrency), auxiliares para testes unitários (bloc_test), um conjunto de regras de lint (bloc_lint) e replay_bloc, para históricos no estilo desfazer e refazer. angular_bloc é voltado a apps AngularDart.

O projeto é mantido por Felix Angelov e está documentado em bloclibrary.dev, que inclui tutoriais e um guia de migração.

Recursos principais

  • 01Fornece as classes Bloc e Cubit para gerenciar o estado em código Dart.
  • 02Inclui widgets do flutter_bloc para conectar o estado à UI do Flutter.
  • 03Oferece hydrated_bloc para persistir o estado entre inicializações do app.
  • 04Fornece auxiliares do bloc_test para testes unitários de blocs.
  • 05Inclui transformers do bloc_concurrency para controlar o processamento de eventos.

Casos de uso

  • Estruturar o gerenciamento de estado em um app Flutter para manter os widgets da UI livres da lógica de negócios.
  • Escrever testes unitários para a lógica da aplicação, independente da UI.
  • Manter o estado do app entre reinicializações com hydrated_bloc.
  • Compartilhar a lógica de negócios em Dart entre um app Flutter e um app web AngularDart.

Antes de usar

  • Seu uso está vinculado ao ecossistema Dart, principalmente ao Flutter e ao AngularDart.

Tópicos

Perguntas frequentes

O que é bloc?
Biblioteca de gerenciamento de estado para Dart que implementa o padrão BLoC para separar a apresentação da lógica de negócios, usada principalmente com Flutter e AngularDart. Bloc é uma biblioteca previsível de gerenciamento de estado para Dart que implementa o padrão de projeto BLoC (Business Logic Component). Seu objetivo é separar a apresentação da lógica de negócios, facilitando os testes e o reuso do código.
bloc é gratuito? Qual é a licença?
bloc é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
bloc ainda é mantido?
Manutenção ativa. O último commit de bloc foi em 20 de out. de 2026.
Para que posso usar bloc?
Estruturar o gerenciamento de estado em um app Flutter para manter os widgets da UI livres da lógica de negócios. Escrever testes unitários para a lógica da aplicação, independente da UI. Manter o estado do app entre reinicializações com hydrated_bloc. Compartilhar a lógica de negócios em Dart entre um app Flutter e um app web AngularDart.
Onde consigo bloc?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/felangel/bloc

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados