fkafka 2.0.1 fkafka: ^2.0.1 copied to clipboard
Kafka equivalent in flutter
Fkafka Dart Package #
The fkafka
package offers an elegant solution for sending messages across different parts of your Dart or Flutter application without establishing direct connections. It simplifies event-driven programming by allowing you to emit and listen to topics anywhere in your app.
Features #
- Emit Topics: Easily broadcast data across different parts of your app.
- Listen to Topics: Set up listeners for specific topics and react to the data received.
- Control Listeners: Ability to pause, resume, or close topic listeners.
- Reconnect Capability: Automatically re-establish connections when they are closed.
Getting Started #
To get started with fkafka
, add it to your project's dependencies:
For Flutter Projects #
flutter pub add fkafka
For Dart Projects #
dart pub add fkafka
Or manually add it to your pubspec.yaml
file:
dependencies:
fkafka: ^2.0.0
Usage #
Import the package and create an instance of Fkafka
:
import 'package:fkafka/fkafka.dart';
final kafka = Fkafka();
Emitting Data #
In this example, we're emitting a list of products:
// Assuming Product is a defined class
final List<Product> products = [
Product(name: 'phone', type: 'iphone', price: 1500.0),
];
// Emitting a list of products on the 'products.loaded' topic
kafka.emit('products.loaded', products);
Listening to Topics #
Set up a listener for the 'products.loaded' topic:
final kafka = Fkafka();
// Listening for the list of products
kafka.listen<List<Product>>(
'products.loaded',
onTopic: (List<Product> products) {
// Handle the received list of products
print(products);
},
);
Remember to close the instance when it's no longer needed:
kafka.closeInstance();
Managing Fkafka Instance #
To close all Fkafka instances and release resources:
Fkafka.closeAll();
Advanced Usage #
- Pausing and Resuming Subscriptions: Control your topic listeners by pausing and resuming them as needed.
- Check Active Listeners: Verify if a topic has active listeners in a particular instance.
Contributing #
Contributions to the fkafka
package are welcome. Please read our contributing guidelines for more information.
License #
This project is licensed under the MIT License.