Comparação entre BLoC, ScopedModel e Redux - Parte III


BLoC , ScopedModel , Redux … diferenças, quando usar, quando NÃO deve ser usado, vantagens, desvantagens…

Introdução

O padrão BLoC não requer nenhuma biblioteca ou pacote externo, pois ele simplesmente depende do uso dos Streams. No entanto, para funcionalidades mais amigáveis (por exemplo, subject), é frequentemente combinada com o pacote RxDart.

O padrão BLoC depende de:

StreamController

Um StreamController expõe um Sink para injetar dados no Stream e em um Stream para escutar os dados, fluindo dentro do Stream.

StreamBuilder

Um StreamBuilder é um widget que escuta um fluxo e reconstrói quando novos dados são emitidos pelo fluxo.

StreamSubscription

Um StreamSubscription permite ouvir dados sendo emitidos por um fluxo e reagir.

BlocProvider

Um BlocProvider é um Widget conveniente, comumente usado para manter um BLoC e disponibilizá-lo aos Widgets descendentes.

Como isso tudo funciona? A animação a seguir mostra como o BLoC funciona quando estamos injetando alguns dados em um de seus Sinks ou por meio de uma API.

 https://www.didierboelens.com

Explicação:
1) Alguns dados são injetados em um dos dissipadores BLoC;
2) Os dados são processados pelo BLoC, que eventualmente emite alguns dados de um dos fluxos de saída;
3) O mesmo também pode ser aplicado ao usar a API do BLoC…

Para informações adicionais sobre a noção de BLoC, por favor, consulte nossos artigos:

- Aplicativos reativos em Flutter I;

- Aplicativos reativos em Flutter II;

- Aplicativos reativos em Flutter III; e

- Bussiness Logic Component.

Agora, a parte mais esperada será feita no último artigo a respeitos dos temas - O comparativo. Até o próximo artigo.

 

Veja os artigos anteriores desta série em:

- Comparação entre BLoC, ScopedModel e Redux - Parte I;

- Comparação entre BLoC, ScopedModel e Redux - Parte II.

1001 Visualizações
Awesome Flutter