flowner 1.0.0 copy "flowner: ^1.0.0" to clipboard
flowner: ^1.0.0 copied to clipboard

A state management package for Flutter, offering simplicity, efficiency, and scalability.

Flowner - A Lightweight Flutter State Management Solution #


Pub

Flowner is a minimal, efficient, and intuitive state management library for Flutter. Built with simplicity and performance in mind, it provides developers with the tools to manage state effectively in Flutter applications without relying on third-party state management solutions.

Whether you're building a small app or a large-scale application, Flowner adapts to your needs with its powerful yet easy-to-use API.


✨ Features #

  • Stream-based State Management: Efficiently updates UI components only when relevant state changes.
  • Support for Complex States: Handle nested structures like Lists, Maps, and custom objects.
  • Asynchronous State Updates: Seamlessly manage async operations with built-in support for future-based updates.
  • Memory-safe: Prevent memory leaks with a simple dispose method for state cleanup.
  • Lightweight: No external dependencies — just pure Dart.

🚀 Getting Started #

Installation #

Add the package to your pubspec.yaml file:

dependencies:
  flowner: ^1.0.0

Then, run:

flutter pub get

🔧 Usage #

Creating and Updating State #

import 'package:flowner/flowner.dart';

void main() {
  // Initialize a state with a default value
  final counterState = State<int>(0);

  // Listen to state changes
  counterState.stream.listen((newValue) {
    print('Counter updated: $newValue');
  });

  // Update state synchronously
  counterState.value = 1;  // Output: Counter updated: 1

  // Update state asynchronously
  counterState.updateAsync(() async {
    await Future.delayed(Duration(seconds: 2));
    return 42;
  }).then((_) {
    print('Counter updated: ${counterState.value}');  // Output: Counter updated: 42
  });
}

Dispose State #

To avoid memory leaks, always dispose of states when they are no longer needed:

state.dispose();

📱 Example Application #

To see flowner in action, check out the example project in the example.

🌟 Key API Methods #

Method Description
value Get or set the current state value.
stream A stream that emits the state value whenever it changes.
dispose() Cleans up resources associated with the state.
updateAsync(func) Updates the state asynchronously using a provided future-based function.

🛠️ Contributions #

We welcome contributions! If you have ideas for features, bug fixes, or improvements, feel free to open an issue or submit a pull request.

🐞 Issues and feedback #

Please file issues to send feedback or report a bug. Thank you!

📜 License #

MIT License

Buy Me A Coffee

0
likes
160
points
12
downloads

Publisher

unverified uploader

Weekly Downloads

A state management package for Flutter, offering simplicity, efficiency, and scalability.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on flowner