Sobes.tech
Middle+

Deve-se sempre usar Bloc?

sobes.tech IA

Resposta da IA

Não, nem sempre.

Bloc é uma das soluções populares para gestão de estado no Flutter. Seu uso é justificado em aplicações complexas com muitas telas, dependências e lógica de negócio, onde é necessário separar claramente a camada de apresentação da camada de dados e lógica, garantir testabilidade e previsibilidade dos Flows.

Em aplicações simples com um número mínimo de telas e estados, o uso de Bloc pode ser excessivo e complicar o código sem vantagens substanciais. Nesses casos, soluções mais simples, como Provider, ChangeNotifier, ou até gestão de estado ao nível de StatefulWidget, podem ser mais adequadas.

Fatores que influenciam a conveniência de usar Bloc:

  • Complexidade da aplicação: Quanto mais complexa for a aplicação, mais razões há para usar Bloc.
  • Quantidade de estados: Um grande número de estados que mudam e dependências favorecem Bloc.
  • Requisitos de testabilidade: Bloc facilita a escrita de testes unitários para lógica de negócio.
  • Tamanho da equipa: Uma abordagem unificada para gestão de estado simplifica o trabalho em equipa.
  • Experiência dos desenvolvedores: Conhecimento de Bloc é necessário para usá-lo eficazmente.

Alternativas ao Bloc, dependendo da tarefa:

  • Provider: Ideal para injeção de dependências e acesso a dados.
  • ChangeNotifier/Consumer: Forma simples de gerir o estado em pequenos fragmentos de UI.
  • Riverpod: Alternativa ao Provider com melhor suporte para testes e sem boilerplate.
  • GetX: Framework poderoso com ferramentas para gestão de estado, roteamento e dependências.

A escolha da abordagem de gestão de estado deve basear-se nos requisitos específicos do projeto e nas preferências da equipa.