(BLoC、Stream BuilderおよびInherited Widget(または- Model)(私の特別なことは何もありませんが、私にとっては時間がかかりました)がスコープモデル
私はある種の実存的危機を経験しました:彼らはほとんど同じことを行うことができると感じています、または少なくともそれらのいずれかで同じ見かけ上の結果を達成できると思いますが、私には理解する能力がありませんwhenおよびwhy 1つは他よりも優れています。
簡単に言うと、小さなアプリがある場合はスコープモデルを使用します。これは、ブロックが複雑になる傾向があるためです。また、大きなアプリがある場合 =)bloc。
詳細な説明については、この記事を参照してください: bloc vs scoped_model
stream builderとinherited widgetの優れた比較は、Remiによって与えられますルースレット: https://stackoverflow.com/a/49958864/1047148
Streams/Sinkは、状態を保存するのに最適です。 BLoCなどの既存のアーキテクチャーは、それらを頻繁に使用しています。
しかし、ストリームはInheritedWidget
を完全に置き換えません。 InheritedWidget
には、画面の一部のみのコンテンツを上書きできる優れた機能が備わっています。これのすばらしいアプリケーションの1つはTheme
です。
一般的に言えば、Streams
はビジネスロジックを格納するのに最適です。ただし、UIロジックを格納する必要がある場合は、InheritedWidgets
が優先されます。