stream_chat_flutter_core 10.0.1
stream_chat_flutter_core: ^10.0.1 copied to clipboard
Stream Chat official Flutter SDK Core. Build your own chat experience using Dart and Flutter.
Official Core Flutter Package for Stream Chat #
The official Flutter core components for Stream Chat, a service for building chat applications.
Quick Links
- Register to get an API key for Stream Chat
- Flutter Chat Tutorial
- Documentation
- V10 Migration Guide
Changelog #
Check out the changelog on pub.dev to see the latest changes in the package.
Overview #
stream_chat_flutter_core provides the business logic, controllers, and builders required to integrate Stream Chat into a Flutter app — without shipping any UI of its own. It sits between the low-level client (stream_chat) and the full UI SDK (stream_chat_flutter).
Use this package when your application requires a UI that is completely different from what stream_chat_flutter provides — you implement your own widgets on top of these controllers without writing the data fetching, pagination, and state management logic yourself. It also has very few dependencies, making it suitable for apps with strict build constraints.
Getting Started #
Add Dependency #
Add this to your pubspec.yaml, using the latest version :
dependencies:
stream_chat_flutter_core: ^10.0.0
Then run:
flutter pub get
This package requires no custom setup on any platform since it has no platform-specific dependencies.
Example App #
This repository includes a fully functional example app with setup instructions. The example is available under the example folder.
Controllers #
The package provides a set of controllers that handle the business logic of chat. You can use them together with the UI widgets in stream_chat_flutter, or build your own UI on top of them:
StreamChannelListController— manages a paged list of channelsStreamMessageSearchListController— manages message search resultsStreamUserListController— manages a paged list of usersStreamMemberListController— manages a paged list of channel membersStreamThreadListController— manages a list of threadsStreamDraftListController— manages draft messagesStreamMessageReminderListController— manages message remindersStreamPollController— manages poll state and votingStreamMessageComposerController— manages message composition state
Utilities #
BetterStreamBuilder<T>— aStreamBuilderthat only rebuilds when data actually changesLazyLoadScrollView— triggers a callback when the user scrolls near the end of a listPagedValueNotifier<Key, Value>— base class for all list controllersPagedValueListenableBuilder<Key, Value>— builds UI from aPagedValueNotifier
Contributing #
We welcome code changes that improve this library or fix a problem. Please make sure to follow all best practices and add tests if applicable before submitting a Pull Request on GitHub. Make sure to sign our Contributor License Agreement (CLA) first. See our license file for more details.