Building Dynamic Lists with Streams in Dart's Flutter Framework

in #utopian-io6 years ago (edited)

What Will I Learn?

  • You will learn how to use Streams in Flutter
  • You will learn how to build Dynamic Lists and Widgets
  • You will learn how to manipulate the layout and User interface elements in Flutter

Requirements

Difficulty

  • Intermediate

Description

In this tutorial series, we use Dart Streams to build a Dynamic List View in Flutter. We implement a fairly simple Functional Reactive Programming pattern to create a lazy list of elements that loads as the User or User Interface requests them. We then subscribe to this stream to pull the state of our application out as it is needed. The User Interface dynamically responds to these updates and state changes in a way that keeps things fluid and stemless.

Our application pings the JSONPlaceholder fake Rest API to pull in about five thousand different photo URL elements. We then take these elements and reflect them against a Photo Class to give our application access to the data in a way that Flutter can parse. We then add this data to our User Interface to serve it out to the front-end of our application. At the end of the tutorial, we also play around with some of the different layouts to make the data look more appropriate for the application.

The source code for this project can be found here

Video Tutorial

Curriculum



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Thank you for the contribution. It has been approved.

You can contact us on Discord.
[utopian-moderator]

that was quick, thanks for moderating my content.

Hey @ewq, I just gave you a tip for your hard work on moderation. Upvote this comment to support the utopian moderators and increase your future rewards!

Boost Your Post. Send 0.100 STEEM or SBD and your post url on memo and we will resteem your post on 5000+ followers. check our account to see the follower count.

Coin Marketplace

STEEM 0.20
TRX 0.13
JST 0.030
BTC 64269.87
ETH 3393.79
USDT 1.00
SBD 2.48