Introduzione
In quasi ogni app reale dovrai mostrare dati che arrivano in modo asincrono: una risposta da un server, una lettura da database, un timer o un flusso continuo di eventi. Flutter offre due widget potentissimi per collegare questi dati alla UI in modo dichiarativo: FutureBuilder (per un singolo risultato futuro) e StreamBuilder (per una sequenza di valori nel tempo).
In questo tutorial costruiremo esempi pratici che mostrano come gestire correttamente gli stati di caricamento, errore e dati pronti, evitando gli errori più comuni come la ricreazione del Future ad ogni rebuild.
Al termine saprai scegliere lo strumento giusto in base al tuo caso d'uso e scrivere UI robuste e pulite.
