Orientação gerada a partir de informações públicas. Apenas para referência.
Minimal MVN é uma solução leve de gerenciamento de estado para Flutter que implementa o padrão Model-View-Notifier (MVN). Oferece uma maneira simples e reativa de gerenciar o estado do aplicativo com pouca quantidade de código repetitivo. Ao separar dados (modelo), interface (visualização) e atualizações de estado (notificador), promove arquitetura limpa e facilidade de testes. O pacote foi projetado para desenvolvedores que buscam uma alternativa direta a soluções mais pesadas de gerenciamento de estado sem sacrificar desempenho ou escalabilidade.
Casos de uso
Gerenciamento simples de estado do aplicativo
Atualizações de UI reativas
Alternativas leves aos provedores
lógica de negócio testável
Aplicativos Flutter de pequeno a médio porte
Principais recursos
Boilerplate mínimo
padrão Modelo-Visualização-Notificador
Atualizações de estado reativas
Integração fácil com código existente
Suporta todas as plataformas do Flutter
Indicado para
Desenvolvedores que querem simplicidade
Projetos que evitam bibliotecas de estado complexas
Equipes que priorizam a manutenibilidade
Aprenda os fundamentos da gestão de estado
Aplicativos com complexidade moderada de estado
Considerações
Não é ideal para aplicativos de grande escala
Ferramentas de depuração internas limitadas
Persistência embutida não disponível
Requer configuração manual para recursos avançados
Mais adequado para aplicativos com necessidades básicas a intermediárias de estado
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
Minimal MVN
A minimal state management package for Flutter. Part of a minimalistic architecture based on the MVN (Model-View-Notifier) pattern.
This package aims for the simplest possible architecture, making it easier to understand and use, while offering an alternative to the growing complexity found in many other state management solutions, in an attempt to minimize side effects.
The classical Flutter counter app demonstrates basic state management. The counter on the top is a non disposable notifier, so it keeps memory when re-entering the page. The one on the bottom is a disposable notifier, so it resets when re-entering the page.
Chroma Counter
A more advanced counter widget, which increases the counter, and randomly changes color and shape. The reveal button shows a second widget using the same notifier. Thanks to the autodispose feature, the notifier is disposed only when both the widgets are not visible anymore. The string on top of the choma counter updates every 10 counts, thanks to the select feature, which is used to avoid unnecessary rebuilds.
In tests, you can override the notifier with a mock notifier through the minimal manager:
testWidgets('should update UI when state changes', (tester) async {
// Use the minimal manager to override the notifier
chromaCounterManager.override(MockCounterNotifier.new);
await tester.pumpWidget(constMaterialApp(home: ChromaCounter()));
// Change state through the mock notifier
chromaCounterManager.notifier.nextMetamorph();
await tester.pump();
final newColor = _getContainerColor(tester);
// Test the exact color instead of a random oneexpect(newColor, equals(Colors.red));
});