fkafka 2.0.1 copy "fkafka: ^2.0.1" to clipboard
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.