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.
hydrated_bloc
897
Uma extensão para o pacote de gerenciamento de estado bloc que persiste e restaura automaticamente os estados do bloc.
hooks_riverpod
882
Uma maneira simples de acessar o estado de qualquer lugar do seu aplicativo, sendo robusto e testável.
flutter_mobx
695
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
635
Uma biblioteca de testes que facilita o teste de blocs. Criado para ser usado com o pacote de gerenciamento de estado bloc.
bloc_concurrency
525
Transformadores de eventos personalizados inspirados pelo ember concurrency. Criado para ser usado com o pacote de gerenciamento de estado bloc.
signals
512
Reatividade simplificada. Faça mais fazendo menos. Suporta Flutter e qualquer projeto Dart, incluindo HTML/JS, CLI, Shelf Server, VM e mais
flutter_data
369
A forma perfeita de trabalhar com modelos de dados persistentes no Flutter. Inspirado pelo Ember Data e pelo ActiveRecord.
replay_bloc
181
Uma extensão para o pacote de gerenciamento de estado bloc que adiciona suporte para desfazer e refazer.
watch_it
168
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
kiwi
164
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
155
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
139
mixin em Stateless e Stateful Widgets que facilita a ligação do Widget a objetos armazenados no GetIt.
riverbloc
111
Implementação de BlocProvider com riverpod como uma alternativa ao provider, similar ao StateNotifierProvider.
flutter_command
104
flutter_command é uma maneira de gerenciar seu estado com base em 'ValueListenable' e o padrão de design 'Command'.
momentum
97
Padrão MVC para o Flutter. Funciona como gerenciamento de estado, injeção de dependência e localizador de serviços.
bloc_pattern
97
Apenas um pacote com as bases para implantar o BloC em seu código. Módulos, Consumidores e BLoC!
asp
95
ASP (Padrão de Estado Atômico) é uma extensão para o ValueNotifier que aplica de forma transparente a programação reativa funcional (TFRP)
flutter_getit
90
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.
ioc_container
88
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
june
83
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.
rx_notifier
83
Extensão do ValueNotifier que aplica de forma transparente a programação reativa funcional (TFRP).
isolator
81
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_simple_dependency_injection
72
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.
functional_listener
70
Métodos de extensão semelhantes ao rx no tipo ValueListenable, que permitem trabalhar com ValueNotifiers quase como com Streams
binder
70
Uma maneira leve, porém poderosa, de vincular o estado de sua aplicação à lógica de negócios.
bloc_presentation
68
Estende blocos com uma corrente adicional que pode servir como uma forma de indicar eventos de apresentação únicos
creator
67
Uma biblioteca de gerenciamento de estado que permite código de lógica de negócios conciso, fluido, legível e testável.
fish_redux
67
Fish Redux é um framework de aplicativo Flutter montado com base no gerenciamento de estado Redux.
redux_thunk
66
Um middleware Redux.dart que permite despachar funções que executam trabalho assíncrono como actions (ações).
solidart
65
Uma solução simples de gerenciamento de estado para aplicativos Dart, inspirada no SolidJS.
fquery
65
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.
yx_scope
65
um pacote central do framework de injeção de dependência com segurança de compilação e capacidades avançadas de escopo.
state_persistence
65
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.
observable_ish
64
Escreva aplicativos elegantes e reativos de cliente de plataforma cruzada usando estados observáveis e emissores de eventos.
app_state
63
Uma solução de gerenciamento de estado em cima da API de Roteador para aplicativos maiores.
reactter
57
Gerenciamento de Estado Reactivo, Injeção de Dependência e Gerenciamento de Eventos leve, poderoso e rápido.
rx_bloc
57
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.
property_change_notifier
56
Uma substituição direta para ChangeNotifier para observar apenas certas propriedades de um modelo.
flutter_solidart
55
Uma solução simples de gerenciamento de estado para aplicativos Flutter, inspirada no SolidJS.
flutter_state_notifier
54
Bindings do Flutter para state_notifier, como StateNotifierProvider e StateNotifierBuilder
flutter_onlooker
49
Uma biblioteca de gerenciamento de estado que fornece uma solução simples para atualizar o estado e a navegação.
fbroadcast
49
FBroadcast ajuda os desenvolvedores a construir um sistema de transmissão eficiente no aplicativo.
statemachine
46
Um framework de máquina de estados simples, porém poderoso, para Dart com suporte ao Flutter e aplicativos da web.
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.
signals_flutter
43
a biblioteca signals expõe quatro funções principais que são os blocos de construção para modelar qualquer lógica de negócios que você possa imaginar.
flutter_rx_bloc
42
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.
mvvm_plus
42
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).
refena
41
uma biblioteca de gerenciamento de estado para dart e flutter. Inspirada por riverpod e async_redux.
flutter_reactter
39
Um gerenciamento de estado reativo leve, poderoso e rápido, injeção de dependência e gerenciamento de eventos
angular_bloc
39
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.
reduced
39
Fachada unificada para as funcionalidades básicas de frameworks de gerenciamento de estado.
state_machine
39
Biblioteca de máquina de estados finita. Define facilmente transições de estado permitidas. Ouve as entradas, saídas e transições de estado.
mvvm
38
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.
context_watch
38
uma maneira sem transtornos de observar alterações em valores observáveis dentro do método build.
stream_bloc
36
Implementação moderna do BLoC Original que usa geradores assíncronos para descrever relacionamentos entre eventos e estados.
state_beacon
34
uma solução reativa primitiva e simples para gerenciamento de estado em Dart e Flutter
after_init
33
Adiciona um método de ciclo de vida didInitState() a widgets com estado onde você pode acessar com segurança widgets herdados.
vxstate
31
O VxState é mais uma solução de gerenciamento de estado para o Flutter. É altamente inspirado no Redux e VueX.
injecteo
31
Localizador de serviços para o padrão IoC. Exporta anotações e classes abstratas usadas pelo injecteo_generator.
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.
livestream
30
LiveStream é uma classe simples que torna a comunicação fácil entre diferentes módulos do seu aplicativo.
dart_notification_center
30
Um wrapper para o padrão observador para Dart no estilo do Centro de Notificação do iOS.
rx_bloc_cli
29
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
meedu
29
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.
flutter_bloc_devtools
27
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.
broadcast_bloc
26
uma extensão para a biblioteca de gerenciamento de estado bloc que adiciona suporte para transmissão de alterações de estado para canais de stream
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
24
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).
velocity_bloc
21
Gerenciamento de estado minimalista e fácil para Blocs (BLoCs) inspirado em genéricos do Dart.
redux_persist_flutter
21
Integração Redux Persist Flutter com motores de armazenamento personalizados.
flutter_control
21
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.
stateful_props
21
Fornece uma maneira simples de reutilizar comportamentos em StatefulWidgets. Melhora a legibilidade e a robustez de seus componentes.
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.
rx_redux
19
Implementação Redux com base em streams do Dart, com o poder do RxDart. Armazenamento redux reativo para Dart e Flutter.
flutter_mobx_helpers
18
Um conjunto de ferramentas para MobX que ajuda com processos comuns, facilitando tudo.
bloc_tools
17
Ferramentas para construir aplicativos usando a biblioteca de gerenciamento de estado bloc.
provider_for_redux
16
Permite usar o Provider com o Redux. Usa o AsyncRedux, a versão sem boilerplate do Redux.
rebloc
16
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.
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.
grab
14
Um conjunto de mixins e métodos de extensão como uma alternativa ao ListenableBuilder / ValueListenableBuilder, bom para o gerenciamento de estado.
mobx_provider
14
Pacote para vincular a IU aos seus stores (viewmodels) facilmente, o pacote é inspirado pelo padrão de arquitetura de pilhas preenchidas
flutter_redux_navigation
13
Um middleware de navegação reativo simples para a biblioteca redux do Flutter.
power_state
12
uma solução de gerenciamento de estado flutter com injeção de dependência. você pode facilmente gerenciar seu estado
scope
12
uma biblioteca de injeção de dependência (Inversão de Controle). Suporta escopos aninhados e múltiplos valores do mesmo tipo.
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
11
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.
flutter_bloc_patterns
7
Um conjunto dos casos de uso mais comuns do BLoC construídos em cima da biblioteca flutter_bloc.
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.
karee
6
Uma outra forma de construir aplicações Flutter para dispositivos móveis, web e desktop usando a Arquitetura Karee.
simple_architecture
6
Arquitetura simples para aplicativos Flutter com Injeção de Dependência, Padrão Mediator e Streams Observáveis
depend
5
depend simplifica o gerenciamento de dependências em aplicativos flutter, fornecendo inicialização fácil e acesso a serviços por toda a árvore de widgets
kfx_dependency_injection
5
Biblioteca de injeção de dependência Flutter baseada no provedor de serviços do dotnet.
disposable_provider
5
DisposableProvider é uma camada fina em torno do Provider e ele chama dispose automaticamente.
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
4
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
4
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).
flutter_state_management
3
uma coleção de classes auxiliares para tornar o uso do change notifier mais fácil no gerenciamento de estado
trent
3
um pacote flutter para gerenciamento de estado simples, escalável e reativo com injeção de dependência embutida e manipulação eficiente de estado baseado em stream
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
fast_mvvm
1
Implementado usando a arquitetura MVVM, construa rapidamente projetos para ajudar os consumidores a se concentrarem apenas na implementação de negócios.
provider
0
Um invólucro ao redor do InheritedWidget para torná-los mais fáceis de usar e mais reutilizáveis
flutter_bloc
0
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
riverpod
0
Uma maneira simples de acessar o estado de qualquer lugar em seu aplicativo, ao mesmo tempo em que é robusto e testável
bloc
0
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)
flutter_riverpod
0
Uma maneira simples de acessar o estado de qualquer lugar do seu aplicativo, sendo robusto e testável.
mobx
0
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.
with_bloc
0
Um widget para criar e gerenciar BLoCs implementados no topo do ValueNotifier, como o StateQueue.
get_it
0
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
injectable
0
Injectable é um gerador de código conveniente para o get_it. Inspirado pelo DI do Angular, DI do Guice e inject.dart.