awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
MessageKit avatar

MessageKit/MessageKit

0
View on GitHub↗
6,266 stars·1,198 forks·Swift·MIT·18 viewsmessagekit.github.io↗

MessageKit

MessageKit is an iOS chat UI framework that provides a scrollable conversation interface built on UICollectionView, enabling developers to render text, images, videos, locations, emoji, audio, and contact messages within message bubbles. The framework is designed around a pre-built MessagesViewController that can be subclassed to inherit the full chat layout, input bar, and message display without writing UI from scratch, and it uses a data source protocol for message retrieval along with delegate callbacks for user interactions.

The framework distinguishes itself through a highly customizable message cell system that divides each cell into seven configurable parts for fine-grained control over labels, avatars, and accessory views, alongside a customizable input bar with left and right button stacks that bind custom behaviors to touch, text change, and keyboard events. It supports embedding custom chat cells, hiding avatars per message, and automatically sizing custom cells, while also offering a SwiftUI embedding component for integrating the chat interface into modern iOS applications.

Additional capabilities include rendering media messages with dedicated bubble layouts, reacting to input bar events and send button presses, and attaching actions to toolbar buttons. The framework is distributed under the MIT license and can be embedded as a git submodule with Carthage support for dependency management.

Features

  • iOS Chat UI Frameworks - Provides a scrollable conversation interface for rendering text, images, videos, and other message types in iOS apps.
  • Chat Interface Components - Provides a pre-built scrollable conversation view that manages message layout and cell rendering from model objects.
  • Data Source Protocols - Defines a data source protocol for supplying message objects and handling cell selection.
  • Message Composition Inputs - Provides a text input bar with a send button that triggers a delegate callback when the user submits a message.
  • Message - Retrieves and manages message data through a data source protocol with delegate callbacks.
  • Pre-built View Controllers - Provides a pre-built view controller that developers subclass to inherit chat layout and message display.
  • Photo Message Renderers - Displays photo images within a conversation bubble using a media item.
  • Text Message Renderers - Displays plain text messages in a conversation bubble using a configurable font.
  • Chat Input Composers - Ships a customizable input accessory view with a text field and button stacks for message composition.
  • Chat Message List Renderers - Renders a scrollable conversation interface that displays message bubbles for text, images, videos, and other media types.
  • Bubble Layout Systems - Displays text, images, videos, locations, emoji, audio, and contact messages with dedicated bubble layouts.
  • Dynamic Bubble Layouts - Adjusts the size, appearance, and padding of each label and container within a message cell.
  • Custom Message Cells - Ships a custom cell registration system for rendering arbitrary message types in a chat list.
  • Collection View Layouts - Renders chat messages as cells in a collection view for flexible scrolling and animations.
  • Seven-Part Cell Layouts - Divides each message cell into seven configurable parts for fine-grained layout control of labels, avatars, and accessory views.
  • Callback Delegates - Uses delegate callbacks to notify the host about cell taps and send button presses.
  • Multi-Type Message Renderers - Automatically selects the correct cell for text, photo, video, location, emoji, audio, contact, or link preview content.
  • Attributed Text Renderers - Renders text messages with custom attributes like colors and fonts in conversation bubbles.
  • Bubble Text Renderers - Displays text messages with custom attributes like colors and fonts in a conversation bubble.
  • Bubble Text Renderers - Renders plain and attributed text messages inside customizable chat bubbles.
  • Contact Message Renderers - Displays contact information within a conversation bubble using a contact item.
  • Audio Message Renderers - Displays audio messages with playback controls within the conversation interface.
  • Video Message Renderers - Displays video content within a conversation bubble using a media item.
  • Embedding Components - Embeds a chat interface inside a SwiftUI view hierarchy for interactive messaging in modern iOS apps.
  • Location Message Renderers - Displays a location map or coordinates within a conversation bubble using a location item.
  • Avatar Visibility Controls - Shows or hides avatar views per message and optionally removes the space they occupy in the cell layout.
  • Input Bar - Places custom buttons on either side of the text view and hooks their behavior to touch, text changes, or keyboard events.
  • Input Bar Action Attachments - Attaches custom closures to button taps, text changes, and keyboard events on the input bar.
  • Emoji Message Renderers - Provides dedicated rendering for emoji-only messages with configurable font sizing.
  • Input Bar Event Handlers - Triggers custom actions on button taps, text changes, keyboard events, and selection state changes.
  • Message Delegate Callbacks - Uses the collection view's index path and data source to access the underlying message model from a cell delegate callback.
  • SwiftUI Chat Embeddings - Provides a SwiftUI component for embedding the chat interface into modern iOS applications.
  • Button Stack Configurations - Provides a text input bar with configurable left and right button stacks for custom toolbar actions.
  • Input Bar Layout Customizers - Adjusts padding and stack widths to control the arrangement of the text view and button groups.
  • Stack Width Adjustments - Adjusts padding and width of button stacks so the text input area fills the available space.
  • Location Message Renderers - Renders location previews with map pins inside chat message bubbles.
  • Message Display Modifications - Adjusts the visual appearance of message bubbles through a display delegate protocol.
  • Photo Message Renderers - Renders photo attachments inside chat message bubbles.
  • Video Message Renderers - Renders video attachments inside chat message bubbles.
  • Custom Cell Size Calculators - Calculates the dimensions of a custom message cell by subclassing a size calculator.
  • Delegate-Based Configurations - Adjusts the visual layout and display attributes of messages through delegate protocols with default implementations.
  • Link Preview Services - Displays a rich preview of a URL with title, description, and image inside a chat bubble.
  • Messaging Components - Community-driven replacement for standard message controllers.
  • Chat Interfaces - Community-driven replacement for messaging interfaces.
  • Messaging UI - Swift-based messaging UI library.

Star history

Star history chart for messagekit/messagekitStar history chart for messagekit/messagekit

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does messagekit/messagekit do?

MessageKit is an iOS chat UI framework that provides a scrollable conversation interface built on UICollectionView, enabling developers to render text, images, videos, locations, emoji, audio, and contact messages within message bubbles. The framework is designed around a pre-built MessagesViewController that can be subclassed to inherit the full chat layout, input bar, and message display without writing UI from scratch, and it uses a data source protocol for message…

What are the main features of messagekit/messagekit?

The main features of messagekit/messagekit are: iOS Chat UI Frameworks, Chat Interface Components, Data Source Protocols, Message Composition Inputs, Message, Pre-built View Controllers, Photo Message Renderers, Text Message Renderers.

Which projects share features with messagekit/messagekit?

Projects with overlapping indexed features include: jessesquires/jsqmessagesviewcontroller — JSQMessagesViewController is a UIKit-based conversational UI framework and library for iOS. It provides a set of… badoo/chatto — Chatto is a Swift-based UI framework and component library for building messaging interfaces on iOS. It provides a… chatscope/chat-ui-kit-react — This project is a collection of pre-styled React components designed for building responsive messaging interfaces and… stfalcon-studio/chatkit — ChatKit is a library of reusable native Android components and frameworks designed for rendering chat visuals, message… kirillzyusko/react-native-keyboard-controller — This is a keyboard interaction library and manager for React Native that provides smooth animations, gesture-based… ibelick/prompt-kit — Prompt-kit is a React-based toolkit and component library specialized for building conversational interfaces for large…

Projects sharing features with MessageKit

These projects share indexed features with MessageKit. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • jessesquires/jsqmessagesviewcontrollerJ

    jessesquires/JSQMessagesViewController

    11,080View on GitHub↗

    JSQMessagesViewController is a UIKit-based conversational UI framework and library for iOS. It provides a set of components for rendering interactive message streams, multimedia chat histories, and customizable input controllers within mobile applications. The framework features a layout engine that calculates dynamic bubble dimensions and handles orientation-aware rendering. It includes a resizing text input area with a customizable toolbar for sending and formatting messages, as well as support for group conversations with multiple participants. The library covers message rendering through

    Objective-C
    View on GitHub↗11,080
  • badoo/chattobadoo avatar

    badoo/Chatto

    4,505View on GitHub↗

    Chatto is a Swift-based UI framework and component library for building messaging interfaces on iOS. It provides a collection of reusable interface components for rendering text bubbles, photo attachments, and interactive input areas. The framework centers on a paginated chat interface that loads conversation history in both directions. To maintain scrolling performance, it employs background layout calculations for message cells. The library covers the construction of modular messaging screens and the implementation of mobile chat interactions, such as keyboard dismissal and swipe-to-reveal

    Swift
    View on GitHub↗4,505
  • chatscope/chat-ui-kit-reactchatscope avatar

    chatscope/chat-ui-kit-react

    1,755View on GitHub↗

    This project is a collection of pre-styled React components designed for building responsive messaging interfaces and real-time chat applications. It functions as a modular toolkit that allows developers to assemble custom chat windows, message feeds, and input fields within web applications using a component-based architecture. The library distinguishes itself by providing a centralized logic layer for managing conversation data, including user presence, message history, and typing indicators. It handles the complexities of message stream navigation, such as automatic scrolling and dynamic h

    JavaScriptchatcommentscommunication
    View on GitHub↗1,755
  • stfalcon-studio/chatkitstfalcon-studio avatar

    stfalcon-studio/ChatKit

    3,724View on GitHub↗

    ChatKit is a library of reusable native Android components and frameworks designed for rendering chat visuals, message threads, and media pickers. It provides a set of pre-built UI elements to facilitate the development of messaging interfaces, including conversation lists and text input fields. The toolkit includes specialized media management capabilities, such as a full-screen image viewer with pinch-to-zoom and swipe-to-dismiss gestures, as well as mechanisms for importing photos and videos from device storage. It also features dynamic selection dialogs that adjust their layout based on t

    Javaandroidandroid-librarychat
    View on GitHub↗3,724
Compare all 30 related projects→