There's almost no difference.
ListView
is a SliverList
. Same with GridView
, which is a SliverGrid
.
They are doing exactly the same thing. The only difference between them is that SliverList
is a sliver, not a widget. Which means it's used inside a ScrollView
, usually CustomScrollView
.
ListView
is nothing else but a biding of SliverList
to transform it into a Widget
to make it usable alongside other widgets such as Row
/Container
.
Most of the time, use ListView
.
But if you want advanced scroll behavior such as appbar animations with scroll ; you'll need to use a CustomScrollView
. Which will force you to use SliverList
instead of ListView
.