All Projects → bizz84 → Multiple Counters Flutter

bizz84 / Multiple Counters Flutter

Licence: mit
Flutter State Management [ setState ❖ StreamBuilder ❖ scoped_model ❖ redux ]

Programming Languages

dart
5743 projects
dartlang
94 projects

Projects that are alternatives of or similar to Multiple Counters Flutter

Redux Most
Most.js based middleware for Redux. Handle async actions with monadic streams & reactive programming.
Stars: ✭ 137 (+4.58%)
Mutual labels:  streams, asynchronous-programming
whatsup
Reactive framework, simple, fast, easy to use!
Stars: ✭ 115 (-12.21%)
Mutual labels:  state-management, streams
Frideos flutter
An all-in-one Fllutter package for state management, reactive objects, animations, effects, timed widgets etc.
Stars: ✭ 187 (+42.75%)
Mutual labels:  streams, state-management
urx
urx is a stream-based Reactive state management library
Stars: ✭ 18 (-86.26%)
Mutual labels:  state-management, streams
mst-effect
💫 Designed to be used with MobX-State-Tree to create asynchronous actions using RxJS.
Stars: ✭ 19 (-85.5%)
Mutual labels:  state-management, asynchronous-programming
Zio
ZIO — A type-safe, composable library for async and concurrent programming in Scala
Stars: ✭ 3,167 (+2317.56%)
Mutual labels:  streams, asynchronous-programming
When Ts
When: recombinant design pattern for state machines based on gene expression with a temporal model
Stars: ✭ 112 (-14.5%)
Mutual labels:  state-management
Tailor
A streaming layout service for front-end microservices
Stars: ✭ 1,640 (+1151.91%)
Mutual labels:  streams
Datum
pure functional and generic programming for Erlang
Stars: ✭ 111 (-15.27%)
Mutual labels:  streams
Sinai
Type safe state management inspired by Vuex
Stars: ✭ 111 (-15.27%)
Mutual labels:  state-management
Ayanami
🍭 A better way to react with state
Stars: ✭ 129 (-1.53%)
Mutual labels:  state-management
Parquet4s
Read and write Parquet in Scala. Use Scala classes as schema. No need to start a cluster.
Stars: ✭ 125 (-4.58%)
Mutual labels:  streams
Rxjs In Action
Code sample repository
Stars: ✭ 117 (-10.69%)
Mutual labels:  streams
Zproc
Process on steroids
Stars: ✭ 112 (-14.5%)
Mutual labels:  state-management
Clamscan
A robust ClamAV virus scanning library supporting scanning files, directories, and streams with local sockets, local/remote TCP, and local clamscan/clamdscan binaries (with failover).
Stars: ✭ 121 (-7.63%)
Mutual labels:  streams
Movie app state management flutter
Flutter State Management: Movie App with Provider, Riverpod, flutter_bloc
Stars: ✭ 112 (-14.5%)
Mutual labels:  state-management
Vue State Store
📮 VSS (Vue State Store) - Vue State Management (with Publish & Subscribe pattern)
Stars: ✭ 128 (-2.29%)
Mutual labels:  state-management
Reworm
🍫 the simplest way to manage state
Stars: ✭ 1,467 (+1019.85%)
Mutual labels:  state-management
React Workshop
⚒ 🚧 This is a workshop for learning how to build React Applications
Stars: ✭ 114 (-12.98%)
Mutual labels:  state-management
Jquery Ajaxy
jQuery Ajaxy aims at solving complicated AJAX Paradigms by providing you with a easy managed solution to bind into page state (URL Hash) changes, AJAX form submits, and support AJAX links
Stars: ✭ 125 (-4.58%)
Mutual labels:  state-management

Flutter State Management

This is a sample app showing four different approaches to managing state in Flutter:

setState vs StreamBuilder vs scoped_model vs redux

Use case: manage multiple counters, synced with Firebase Database.

Watch my video for a full overview of the differences and tradeoffs between these techniques:

Supported tasks:

  • Show a list of counters
  • Add new counters
  • Increment or decrement existing counters
  • Remove counters (swipe left to dismiss)

Database

The app uses Firebase as a source of truth for the state of the counters. This allows the data to be easily synced across multiple clients. Realtime Database and Cloud Firestore are both supported (see database.dart class).

NOTE: For simplicity, the whole database has public read/write access, and counters can't be set per-user. For a production app it would be more appropriate to set user access rules.

State management

The same functionality is replicated in four different pages accessible via the bottom navigation bar, using different state management techniques:

Running the project

You need to register the project with your own Firebase account.

  • Use com.musevisions.multipleCountersFlutter as your bundle / application ID when generating the Firebase project.

  • Download the ios/Runner/GoogleService-Info.plist and android/app/google-services.json files as needed.

For more articles and video tutorials, check out Coding With Flutter.

License: MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].