What is the main difference between StreamBuilder and FutureBuilder.
What to use and when to use?
What are the ta
Both StreamBuilder and FutureBuilder have the same behavior : They listen to changes on their respective object. And trigger a new build when they are notified
of a new value.
So in the end, their differences is how the object they listen to works.
Future are like Promise in JS or Task in c#. They are the representation of an asynchronous request. Futures have one and only one response. A common usage of Future is to handle http calls. What you can listen on a Future is it's state. Whether it's done, finished with a success, or had an error. But that's it.
Stream on the other hand are like async Iterator in JS. This can be assimilated to a value that can change over time. It usually is the representation of web-sockets or events (such as click). By listening to a Stream you'll get each new value and also if the Stream had an error or completed.
How each of them listens to changes in a dynamic list?
A Future can't listen to a variable change. It's a one time response. Instead you'll need to use a Stream.