web-dev-qa-db-fra.com

Modèle Scoped, modèle BLoC, StreamBuilder et Widget hérité (ou modèle) lequel choisir et pourquoi?

Je pense que j'ai maintenant au moins une vague idée de la façon d'utiliser un BLoC , Stream Builder et Widget hérité (ou - Modèle ) dans mon application (rien de spécial, mais pour moi cela a pris du temps), mais jouer avec le Modèle de portée
J'ai eu une sorte de crise existentielle: je pense qu'ils peuvent faire la même chose ou du moins je peux obtenir les mêmes résultats apparents avec l'un d'eux, mais je n'ai pas la compétence pour comprendre quand et pourquoi l'un est meilleur qu'un autre.

15
Francesco Iapicca

Modèles de portée vs Bloc

En bref: si vous avez de petites applications, utilisez des modèles de portée car le bloc a tendance à compliquer les choses, et si vous avez une grande application, utilisez bloc .
Voir cet article pour une explication détaillée: bloc vs scoped_model


Générateur de flux vs widget hérité

Voici une belle comparaison entre stream builder et widget hérité donné par Remi Rousselet: https://stackoverflow.com/a/49958864/1047148

Streams/Sink sont certainement excellents pour stocker un état. Il existe des architectures existantes, telles que BLoC qui les utilise beaucoup.

Mais , les flux ne remplacent pas entièrement InheritedWidget non plus. InheritedWidget est livré avec la possibilité intéressante de remplacer son contenu pour seulement une partie de l'écran. Une application intéressante de ceci est Theme.

De manière générale, Streams est pratique pour stocker la logique métier. Mais lorsque vous devez stocker la logique de l'interface utilisateur, InheritedWidgets prend le dessus.

2
Mangaldeep Pannu