spinify 0.1.0-pre.2 spinify: ^0.1.0-pre.2 copied to clipboard
Dart client to communicate with Centrifuge and Centrifugo from Dart and Flutter over WebSockets with Protobuf support.
Spinify #
Websocket client for Centrifugo server and Centrifuge library.
Installation #
Add the following dependency to your pubspec.yaml
file:
dependencies:
spinify: <version>
Features and Roadmap #
- ✅ Connect to a server
- ✅ Setting client configuration
- ✅ Automatic reconnect with backoff algorithm
- ✅ Client state changes
- ✅ Protobuf transport
- ✅ Command-reply
- ✅ Command timeouts
- ✅ Async pushes
- ✅ Ping-pong
- ✅ Connection token refresh
- ✅ Server-side subscriptions
- ✅ Presence information
- ✅ Presence stats
- ✅ History information
- ✅ Send custom RPC commands
- ✅ Handle disconnect advice from the server
- ✅ Channel subscription
- ✅ Setting subscription options
- ✅ Automatic resubscribe with backoff algorithm
- ✅ Subscription state changes
- ✅ Subscription command-reply
- ✅ Subscription token refresh
- ✅ Handle unsubscribe advice from the server
- ✅ Manage subscription registry
- ✅ Publish data into a channel
- ✅ Set observer for hooking events & errors
- ✅ Metrics and stats
- ✅ Package errors
- ✅ Meta information about the library
- ✅ Web transport via extension type
- ❌ WASM compatibility
- ❌ Run in separate isolate
- ❌ JSON codec support
- ❌ Flutter package
- ❌ DevTools extension
- ❌ Middleware support
- ❌ 95% test coverage
- ❌ Benchmarks
- ❌ Performance comparison with other libraries
- ❌ Batching API
- ❌ Bidirectional WebSocket emulation
- ❌ Optimistic subscriptions
- ❌ Delta compression
Example #
More resources #
- Library documentation
- RFC 6455: The WebSocket Protocol
- WebSocket API on MDN
- Dart HTML WebSocket library
- Dart IO WebSocket library
- Centrifugo site
- Client SDK API
- Client real-time SDKs
- Client protocol
- Protocol Buffers
Coverage #
Changelog #
Refer to the Changelog to get all release notes.
Maintainers #
Funding #
If you want to support the development of our library, there are several ways you can do it:
We appreciate any form of support, whether it's a financial donation or just a star on GitHub. It helps us to continue developing and improving our library. Thank you for your support!