Package selection guidance compiled from public package information, community data, and project usage.
A lightweight Dart client for Redis, developed by Shorebird, enabling seamless communication with Redis servers across multiple platforms. Designed for simplicity and performance, it supports essential Redis operations like key-value storage, expiration, and pub/sub messaging. Ideal for real-time data synchronization, caching, and session management in Flutter applications. The library is platform-agnostic, working on Android, iOS, macOS, Windows, and Linux, making it suitable for cross-platform apps requiring fast, reliable data access.
Use cases
Real-time data synchronization
Caching frequently accessed data
Session management
Pub/sub messaging
User state persistence
Key features
Lightweight and efficient
Cross-platform support
Supports basic Redis commands
Built-in connection handling
Simple API for common operations
Suitable for
Flutter apps needing Redis integration
Developers building real-time features
Apps requiring fast in-memory data storage
Teams using Shorebird for app updates
Projects targeting multiple operating systems
Considerations
Requires a running Redis server
Limited to basic Redis functionality
No built-in connection pooling
Not suited for complex Redis use cases
Depends on network availability
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
Shorebird 🐦
Getting Started
Visit https://docs.shorebird.dev to get started.
Packages
This repository is a monorepo containing the following packages:
For more information, please refer to the documentation for each package.
Contributing
If you're interested in contributing, please join us on
Discord.
Environment setup
Working on Shorebird requires Dart.
./scripts/bootstrap.sh will run pub get all packages in the repository.
Running tests
We don't yet have a script to run tests locally. For now, we recommend using
very_good test -r in the packages directory to run all shorebird tests.
(If you run it in the root, it will find packages in bin/cache/flutter and try
to run tests there, some of which will fail.)
To generate a coverage report install lcov:
brew install lcov
Then run tests with the --coverage flag:
very_good test -r --coverage
genhtml coverage/lcov.info -o coverage
You can view the generated coverage report via:
open coverage/index.html
Tracking coverage
The following command will generate a coverage report for the Dart packages:
dart test --coverage=coverage && dart pub global run coverage:format_coverage --lcov --in=coverage --out=coverage/lcov.info --packages=.dart_tool/package_config.json --check-ignore
Shorebird projects are licensed for use under either Apache License, Version 2.0
(LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0) MIT license
(LICENSE-MIT or http://opensource.org/licenses/MIT) at your option.
See our license philosophy for more information on why we license files this
way:
https://handbook.shorebird.dev/engineering/#licensing-philosophy