Flyer Chat π¬
Flyer Chat is an open-source chat UI package for Flutter applications, designed for performance, customization, and ease of integration.
β¨ Features
- π Backend-agnostic: Connect to any backend service.
- 𧬠Adaptable: Perfect for real-time messengers, generative AI agents and LLM-based assistants, support platforms, and beyond.
- π¨ Highly Customizable: Tailor the UI with extensive theme options and builder functions.
- π§© Modular: Pick and choose the features you want. You can change any part of the UI or swap it with your own custom implementation.
- β‘ Performance Optimized: Built for speed and smooth animations.
- π Cross-Platform: Supports iOS, Android, Web, macOS, Windows, and Linux.
- π Open Source: Free to use under the Apache 2.0 License.
π Installation
Add the package to your pubspec.yaml:
dependencies:
flutter_chat_core: ^2.0.0
flutter_chat_ui: ^2.0.0
Then, import and use the Chat widget.
π Documentation & Examples
For detailed usage, customization options, different message types, controllers, and more complex scenarios, please refer to the full documentation:
β‘οΈ flyer.chat/docs/flutter/introduction β¬ οΈ
Explore the comprehensive example application to see various features and customizations in action.
π¦ Packages
The project is structured as a monorepo managed by Melos π.
Core Packages
These are the foundational packages included when you install flutter_chat_ui:
flutter_chat_ui: The main UI package.flutter_chat_core: Contains core models, controllers, theming, and utilities used across the ecosystem.cross_cache: Provides a cross-platform (IO & Web) image caching solution.
Optional Message Widget Packages
Opinionated packages for rendering different message types. You can also build your own!
flyer_chat_text_message: Renders text messages with markdown support.flyer_chat_text_stream_message: Renders streamed text messages with markdown and fade-in animation support.flyer_chat_image_message: Renders image messages.flyer_chat_file_message: Renders file messages.flyer_chat_system_message: Renders system messages (e.g., user joined).
π€ Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines on how to contribute.
π License
Licensed under the Apache License, Version 2.0. See the LICENSE file for details.
