To use the http package, add it to your dependencies in pubspec.yaml:

dependencies

http

^0.13.4

To make a network request,
call await on the async function http.get():

How do I show the progress for a long-running task?

In Xamarin.Forms you would typically create a loading indicator,
either directly in XAML or through a 3rd party plugin such as AcrDialogs.

In Flutter, use a ProgressIndicator widget.
Show the progress programmatically by controlling
when it’s rendered through a boolean flag.
Tell Flutter to update its state before your long-running task starts,
and hide it after it ends.

In the example below, the build function is separated into three different
functions. If showLoadingDialog is true
(when widgets.length == 0), then render the ProgressIndicator.
Otherwise, render the ListView with the data returned from a network call.