Asynchronous Programming allows your app to complete time-consuming tasks, such as retrieving an image from the web, or writing some data to a web server, while running other tasks in parallel and responding to the user input. This improves the user experience and the overall quality of your software.
In Dart and Flutter, you can write asynchronous code leveraging Futures, and the async/await pattern: these patterns exist in most modern programming languages, but Flutter also has a very efficient way to build the user interface asynchronously using the FutureBuilder class.
In Chapter 9, Advanced State Management with Streams, we will also focus on streams, which are an alternative way to deal with asynchronous programming.
By following the recipes in this chapter, you will achieve a thorough understanding...