Top packages de Injeção de Dependência e Gerenciamento de Estado no Flutter Gerenciamento de estado refere-se ao processo de gerenciar os dados ou estado de uma aplicação. Em outras palavras, trata-se de acompanhar as várias partes de dados que são usadas por uma aplicação e garantir que estejam consistentes e atualizadas. O gerenciamento de estado é um aspecto importante na construção de uma aplicação escalável e de fácil manutenção, pois ajuda a garantir que as diferentes partes da aplicação estejam trabalhando juntas de forma previsível e consistente. Já o uso da Injeção de Dependência é um padrão de design usado para criar componentes de software com baixo acoplamento. Na injeção de dependência, as dependências de um determinado componente (como uma classe ou função) são passadas para o componente de fora, em vez de serem criadas ou gerenciadas internamente. Isso permite que o componente seja testado com mais facilidade e reutilizado em diferentes contextos, tornando mais fácil gerenciar as relações entre os diferentes componentes de uma aplicação. Embora o gerenciamento de estado e a injeção de dependência sejam conceitos separados, eles podem ser usados juntos para construir aplicações escaláveis e de fácil manutenção. Por exemplo, um sistema de gerenciamento de estado pode ser usado para gerenciar os dados ou estado de uma aplicação, enquanto a injeção de dependência pode ser usada para criar componentes com baixo acoplamento que podem interagir com o sistema de gerenciamento de estado. Abaixo está a lista completa de pacotes de Injeção de Dependência e Gerenciamento de Estado no Flutter.
get
14099
Abra telas/snackbars/diálogos sem contexto, gerencie estados e injete dependências facilmente com GetX.
provider
9809
Um invólucro ao redor do InheritedWidget para torná-los mais fáceis de usar e mais reutilizáveis
flutter_bloc
6720
Widgets do Flutter que tornam fácil implementar o padrão de design BLoC (Componente de Lógica de Negócio). Construído para ser usado com o pacote de gerenciamento de estado bloc
get_it
3935
Localizador de serviços direto e simples que permite desacoplar a interface de uma implementação concreta e acessar a implementação concreta de qualquer lugar do seu aplicativo
riverpod
3194
Uma maneira simples de acessar o estado de qualquer lugar em seu aplicativo, ao mesmo tempo em que é robusto e testável
bloc
2728
Uma biblioteca de gerenciamento de estado previsível que ajuda a implementar o padrão de design BLoC (Componente de Lógica de Negócio)
rxdart
2465
RxDart é uma implementação da popular API reativa para programação assíncrona, aproveitando a API nativa Dart Streams
flutter_riverpod
2282
Uma maneira simples de acessar o estado de qualquer lugar do seu aplicativo, sendo robusto e testável.
mobx
1211
MobX é uma biblioteca para gerenciar reativamente o estado de suas aplicações. Use o poder de observables, actions e reactions para otimizar seus aplicativos Dart e Flutter.
injectable
1174
Injectable é um gerador de código conveniente para o get_it. Inspirado pelo DI do Angular, DI do Guice e inject.dart.
hooks_riverpod
796
Uma maneira simples de acessar o estado de qualquer lugar do seu aplicativo, sendo robusto e testável.
hydrated_bloc
766
Uma extensão para o pacote de gerenciamento de estado bloc que persiste e restaura automaticamente os estados do bloc.
flutter_mobx
651
Integração do Flutter com o MobX. Fornece um conjunto de widgets Observer que são reconstruídos automaticamente quando os observables rastreados mudam.
bloc_test
562
Uma biblioteca de testes que facilita o teste de blocs. Criado para ser usado com o pacote de gerenciamento de estado bloc.
bloc_concurrency
434
Transformadores de eventos personalizados inspirados pelo ember concurrency. Criado para ser usado com o pacote de gerenciamento de estado bloc.
flutter_data
348
A forma perfeita de trabalhar com modelos de dados persistentes no Flutter. Inspirado pelo Ember Data e pelo ActiveRecord.
signals
347
Reatividade simplificada. Faça mais fazendo menos. Suporta Flutter e qualquer projeto Dart, incluindo HTML/JS, CLI, Shelf Server, VM e mais
replay_bloc
160
Uma extensão para o pacote de gerenciamento de estado bloc que adiciona suporte para desfazer e refazer.
kiwi
155
Um contêiner de injeção de dependência simples e eficiente para Dart e Flutter (pode ser acoplado ao pacote kiwi_generator).
async_redux
146
Redux sem a burocracia, adaptado para o Flutter. Fácil de aprender, usar e testar. Permite a utilização de reducers síncronos e assíncronos.
get_it_mixin
136
mixin em Stateless e Stateful Widgets que facilita a ligação do Widget a objetos armazenados no GetIt.
watch_it
103
o simples gerenciamento de estado alimentado pelo get_it. Permite observar as mudanças de objetos dentro do localizador de serviços get_it e reconstruir a UI conforme necessário
momentum
99
Padrão MVC para o Flutter. Funciona como gerenciamento de estado, injeção de dependência e localizador de serviços.
riverbloc
97
Implementação de BlocProvider com riverpod como uma alternativa ao provider, similar ao StateNotifierProvider.
bloc_pattern
96
Apenas um pacote com as bases para implantar o BloC em seu código. Módulos, Consumidores e BLoC!
asp
85
ASP (Padrão de Estado Atômico) é uma extensão para o ValueNotifier que aplica de forma transparente a programação reativa funcional (TFRP)
ioc_container
82
Uma biblioteca de injeção de dependência e localização de serviço leve, flexível e de alto desempenho para Dart e Flutter
rx_notifier
82
Extensão do ValueNotifier que aplica de forma transparente a programação reativa funcional (TFRP).
flutter_getit
76
Projeto que permite usar get_it como uma injeção de dependência, mas controlada pelo ciclo de vida do Flutter, registrando e cancelando o registro na navegação de página.
flutter_simple_dependency_injection
71
Uma implementação de injeção de dependência super simples para o Flutter que se comporta como qualquer contêiner IOC normal e não depende de reflexão.
isolator
70
Isolator é um pacote que oferece uma maneira simples de criar estados de dois componentes com a parte isolada e a parte dianteira de qualquer tipo - BLoC, MobX, ChangeNotifier e outros
flutter_command
69
flutter_command é uma maneira de gerenciar seu estado com base em 'ValueListenable' e o padrão de design 'Command'.
binder
69
Uma maneira leve, porém poderosa, de vincular o estado de sua aplicação à lógica de negócios.
fish_redux
66
Fish Redux é um framework de aplicativo Flutter montado com base no gerenciamento de estado Redux.
creator
65
Uma biblioteca de gerenciamento de estado que permite código de lógica de negócios conciso, fluido, legível e testável.
redux_thunk
63
Um middleware Redux.dart que permite despachar funções que executam trabalho assíncrono como actions (ações).
observable_ish
61
Escreva aplicativos elegantes e reativos de cliente de plataforma cruzada usando estados observáveis e emissores de eventos.
state_persistence
61
Persista o estado entre os lançamentos do aplicativo. Por padrão, esta biblioteca armazena o estado como um arquivo JSON local chamado 'data.json' no diretório de dados do aplicativo.
app_state
60
Uma solução de gerenciamento de estado em cima da API de Roteador para aplicativos maiores.
functional_listener
59
Métodos de extensão semelhantes ao rx no tipo ValueListenable, que permitem trabalhar com ValueNotifiers quase como com Streams
property_change_notifier
54
Uma substituição direta para ChangeNotifier para observar apenas certas propriedades de um modelo.
flutter_state_notifier
52
Bindings do Flutter para state_notifier, como StateNotifierProvider e StateNotifierBuilder
solidart
51
Uma solução simples de gerenciamento de estado para aplicativos Dart, inspirada no SolidJS.
rx_bloc
49
Um pacote Flutter que ajuda a implementar o padrão de design BLoC (Componente de Lógica de Negócios) usando o poder de fluxos reativos.
bloc_presentation
48
Estende blocos com uma corrente adicional que pode servir como uma forma de indicar eventos de apresentação únicos
reactter
48
Gerenciamento de Estado Reactivo, Injeção de Dependência e Gerenciamento de Eventos leve, poderoso e rápido.
flutter_onlooker
47
Uma biblioteca de gerenciamento de estado que fornece uma solução simples para atualizar o estado e a navegação.
flutter_solidart
46
Uma solução simples de gerenciamento de estado para aplicativos Flutter, inspirada no SolidJS.
fbroadcast
45
FBroadcast ajuda os desenvolvedores a construir um sistema de transmissão eficiente no aplicativo.
june
44
June é uma biblioteca de gerenciamento de estado leve e moderna que se concentra em fornecer um padrão muito semelhante ao gerenciamento de estado nativo do Flutter.
isolate_bloc
44
Um pacote Dart que ajuda a implementar o padrão BLoC. O BLoC funciona em isolamento e não diminui a velocidade da interface do usuário.
statemachine
43
Um framework de máquina de estados simples, porém poderoso, para Dart com suporte ao Flutter e aplicativos da web.
reduced
39
Fachada unificada para as funcionalidades básicas de frameworks de gerenciamento de estado.
flutter_rx_bloc
38
Conjunto de widgets do Flutter que ajudam na implementação do padrão de design BLoC. Desenvolvido para ser usado com o pacote rx_bloc.
flutter_reactter
37
Um gerenciamento de estado reativo leve, poderoso e rápido, injeção de dependência e gerenciamento de eventos
fquery
37
FQuery é uma solução poderosa de gerenciamento de estado assíncrono para o Flutter. Ele armazena em cache, atualiza e gerencia completamente os dados assíncronos em seus aplicativos Flutter.
angular_bloc
36
Componentes Angular que facilitam a implementação do padrão de design BLoC (Business Logic Component). Construído para ser usado com o pacote de gerenciamento de estado bloc.
mvvm_plus
36
MVVM+ é uma implementação leve do Flutter do MVVM, mais um localizador para compartilhar estados por meio de um registro global (como GetIt) ou widgets herdados (como Provider).
mvvm
36
Um MVVM para o Flutter. Ele usa o data binding baseado em propriedades para estabelecer uma conexão entre a ViewModel e a View, e conduz as mudanças da View por meio da ViewModel.
state_machine
35
Biblioteca de máquina de estados finita. Define facilmente transições de estado permitidas. Ouve as entradas, saídas e transições de estado.
stream_bloc
33
Implementação moderna do BLoC Original que usa geradores assíncronos para descrever relacionamentos entre eventos e estados.
vxstate
32
O VxState é mais uma solução de gerenciamento de estado para o Flutter. É altamente inspirado no Redux e VueX.
after_init
32
Adiciona um método de ciclo de vida didInitState() a widgets com estado onde você pode acessar com segurança widgets herdados.
redux_saga
31
redux_saga é uma biblioteca que tem como objetivo facilitar a gestão dos efeitos colaterais da aplicação, tornando-os mais eficientes na execução, fáceis de testar e melhores no tratamento de falhas.
injecteo
31
Localizador de serviços para o padrão IoC. Exporta anotações e classes abstratas usadas pelo injecteo_generator.
dart_notification_center
31
Um wrapper para o padrão observador para Dart no estilo do Centro de Notificação do iOS.
livestream
30
LiveStream é uma classe simples que torna a comunicação fácil entre diferentes módulos do seu aplicativo.
meedu
28
Um gerenciamento de estado simples, injeção de dependência, programação reativa para projetos Dart.
hydrated
28
Um BehaviorSubject persistido automaticamente com hidratação simples para o Flutter. Destinado a ser usado com o padrão BLoC.
rx_bloc_cli
26
O rx_bloc_cli permite a configuração rápida do projeto, incluindo: flavors, tradução [intl], gerenciamento de estado [rx_bloc], roteamento [go_router], sistema de design, análise [firebase], testes
flutter_bloc_devtools
26
DevTools Remoto para flutter_bloc. Este pacote conecta todos os Blocs ao servidor do Devtools Remoto, permitindo que o desenvolvedor inspecione as alterações nos Blocs durante a execução.
bloc_provider
24
Fornece bloc ao widget descendente (O(1)), e o bloc é descartado de forma apropriada pelo estado que o bloc_provider mantém internamente.
flutter_comms
23
Abstração simples de padrão de comunicação em fluxos, criado para comunicação entre classes lógicas e ou widgets
generic_bloc_provider
22
Um fornecedor genérico de Blocos (BLoCs) para seus aplicativos Flutter. Este pacote irá ajudá-lo a evitar a repetição de código ao escrever fornecedores de Blocos (BLoCs).
state_beacon
22
uma solução reativa primitiva e simples para gerenciamento de estado em Dart e Flutter
stateful_props
21
Fornece uma maneira simples de reutilizar comportamentos em StatefulWidgets. Melhora a legibilidade e a robustez de seus componentes.
redux_persist_flutter
20
Integração Redux Persist Flutter com motores de armazenamento personalizados.
rx_redux
20
Implementação Redux com base em streams do Dart, com o poder do RxDart. Armazenamento redux reativo para Dart e Flutter.
mvvm_architecture
20
O objetivo por trás disso é mover o máximo de estado e lógica da ViewState para uma entidade separada chamada ViewModel.
solace_flowz
20
pacote de gerenciamento de estado construído sobre o InheritedWidget, que visa simplificar o trabalho de gerenciamento de estado para desenvolvedores Flutter e realizar a tarefa usando recursos mínimos.
flutter_control
19
O Flutter Control é uma biblioteca complexa para manter o aplicativo e o gerenciamento de estado, injeção de dependência, navegação com roteamento, localização e muito mais.
flutter_mobx_helpers
18
Um conjunto de ferramentas para MobX que ajuda com processos comuns, facilitando tudo.
rebloc
17
Uma biblioteca de gerenciamento de estado para o Flutter que combina aspectos do Redux e do BLoC. O Rebloc usa streams e BLoCs para compor middlewares e redutores.
velocity_bloc
16
Gerenciamento de estado minimalista e fácil para Blocs (BLoCs) inspirado em genéricos do Dart.
provider_for_redux
16
Permite usar o Provider com o Redux. Usa o AsyncRedux, a versão sem boilerplate do Redux.
bloc_tools
15
Ferramentas para construir aplicativos usando a biblioteca de gerenciamento de estado bloc.
inherited_state
15
Gerenciamento de estado simples e limpo suportado por InheritedWidget e injeção de dependência suportada pelo padrão de localizador de serviços.
mobx_provider
14
Pacote para vincular a IU aos seus stores (viewmodels) facilmente, o pacote é inspirado pelo padrão de arquitetura de pilhas preenchidas
grab
13
Um conjunto de mixins e métodos de extensão como uma alternativa ao ListenableBuilder / ValueListenableBuilder, bom para o gerenciamento de estado.
flutter_redux_navigation
13
Um middleware de navegação reativo simples para a biblioteca redux do Flutter.
alt_bloc
12
Uma biblioteca que fornece componentes para uma implementação mais fácil e livre de boilerplate do padrão de arquitetura BLoC.
state_extended
10
Esta classe estende as capacidades da classe State do Flutter e inclui um controlador
dash
9
A biblioteca Dash é responsável por oferecer um padrão de localizador de serviços que se preocupa em fornecer e descartar blocos.
flutter_flux
9
Biblioteca Flux para Flutter, com fluxo de dados unidirecional inspirada pelo refluxo e pela arquitetura Flux do Facebook.
stream_mixin
6
Gerenciamento de estado usando stream para evitar o uso de State/setState/StatefulWidget do Flutter, aumentando o desempenho e a separação de código.
flutter_bloc_patterns
6
Um conjunto dos casos de uso mais comuns do BLoC construídos em cima da biblioteca flutter_bloc.
karee
6
Uma outra forma de construir aplicações Flutter para dispositivos móveis, web e desktop usando a Arquitetura Karee.
simple_architecture
5
Arquitetura simples para aplicativos Flutter com Injeção de Dependência, Padrão Mediator e Streams Observáveis
disposable_provider
5
DisposableProvider é uma camada fina em torno do Provider e ele chama dispose automaticamente.
kfx_dependency_injection
5
Biblioteca de injeção de dependência Flutter baseada no provedor de serviços do dotnet.
hydro
4
Uma solução simples e rápida de gerenciamento de estado e contêiner de serviços para o Flutter, sem acrobacias.
flutter_bloc_pattern
3
Fornecedor bloc. Fornece bloc ao widget descendente (O(1)), e o bloc é descartado de forma apropriada pelo estado que o bloc_provider mantém internamente.
pulse_x
3
Pulse X é o mini gerenciamento de estado. Possui quatro recursos - gerenciamento de estado, rotas sem contexto, injeção de dependência e reação (efeitos colaterais).
mu_state
2
Um conjunto de ajudantes para manipulação pragmática de estados, como mencionado em meu artigo do Medium.
ezbloc_flutter
2
Tornando blocos (BLoCs) fáceis novamente. Uma biblioteca simplificada para a abordagem original de blocos (BLoCs).
state_queue
2
Uma implementação BLoC para atualizações de estado assíncronas executadas sequencialmente.
karee_core
1
Arquivos principais do Karee, o Karee Core representa um conjunto de bibliotecas incríveis que funcionam juntas para oferecer uma experiência MVC muito poderosa no desenvolvimento de aplicativos Flutter