# jpush/aurora-imui

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/jpush-aurora-imui).**

5,702 stars · 990 forks · Java · MIT

## Links

- GitHub: https://github.com/jpush/aurora-imui
- Homepage: https://docs.jiguang.cn
- awesome-repositories: https://awesome-repositories.com/repository/jpush-aurora-imui.md

## Topics

`android-component` `imui` `instant-messaging` `ios-component` `react-native` `ui-components`

## Description

Aurora IMUI is a cross-platform chat UI component library that provides native interface elements for building instant messaging screens on Android, iOS, and React Native. It wraps platform-native UI components behind a unified interface, delegating rendering to each platform's native runtime while maintaining consistent behavior and appearance across devices.

The library separates chat data into a platform-agnostic model layer that drives view updates through reactive bindings to native list components. It manages the multi-modal input bar as a finite state machine that switches between text, voice, photo, and camera capture modes, and allows developers to register custom message view renderers for handling unknown content types. Platform-specific chat UI elements are exposed through a bridge layer that translates common API calls into native view hierarchies, with messages rendered by invoking each platform's native UI toolkit directly.

Aurora IMUI includes a unified input area for composing text, voice recordings, photos, and camera captures, along with a scrollable message history browser that displays text, images, voice, video, and custom message types with tap and hold interactions. The library provides Android-native UI components, iOS-native UI components, and React Native components for rendering message lists and input areas with multimedia support.

## Tags

### User Interface & Experience

- [Cross-Platform](https://awesome-repositories.com/f/user-interface-experience/prebuilt-ui-components/chat-interface-components/cross-platform.md) — Provides a single set of UI components for building chat interfaces that work on Android, iOS, and React Native.
- [Chat Input Composers](https://awesome-repositories.com/f/user-interface-experience/chat-input-composers.md) — Composes text, voice recordings, photos, and camera captures inside a single input area. ([source](https://cdn.jsdelivr.net/gh/jpush/aurora-imui@master/README.md))
- [Mobile Messaging Interfaces](https://awesome-repositories.com/f/user-interface-experience/chat-interfaces/mobile-messaging-interfaces.md) — Provides UI components and layout logic for building mobile-native chat windows on Android and iOS.
- [Instant Messaging UI Component Libraries](https://awesome-repositories.com/f/user-interface-experience/component-transitions/react-libraries/cross-platform-ui-libraries/cross-platform-ui-component-libraries/instant-messaging-ui-component-libraries.md) — Provides a library of reusable chat interface components for building instant messaging screens on Android, iOS, and React Native.
- [Mobile Chat UI Kits](https://awesome-repositories.com/f/user-interface-experience/conversational-ui-kits/mobile-chat-ui-kits.md) — Provides a ready-to-use set of UI components for composing and displaying messages with text, images, voice, and video.
- [Cross-Platform Chat Interfaces](https://awesome-repositories.com/f/user-interface-experience/cross-platform-chat-interfaces.md) — Creates instant messaging interfaces that maintain consistent behavior and appearance across Android and iOS devices.
- [Cross-Platform UI Abstractions](https://awesome-repositories.com/f/user-interface-experience/cross-platform-ui-abstractions.md) — Wraps platform-native UI components behind a unified interface that delegates rendering to Android, iOS, or React Native runtimes.
- [Custom Message View Registries](https://awesome-repositories.com/f/user-interface-experience/multi-type-message-renderers/custom-message-view-registries.md) — Provides a registry for developers to register custom message view renderers for unknown content types.
- [Direct Native Toolkit Invocations](https://awesome-repositories.com/f/user-interface-experience/native-ui-component-libraries/native-ui-renderers/cross-platform-native-renderers/direct-native-toolkit-invocations.md) — Renders chat messages by invoking the native UI toolkit of each platform directly, avoiding web-based intermediate representations.

### Artificial Intelligence & ML

- [Rich Media Message History Browsers](https://awesome-repositories.com/f/artificial-intelligence-ml/chat-history-apis/browsing-interfaces/rich-media-message-history-browsers.md) — Provides a scrollable message list browser with support for text, images, voice, video, and custom message types.

### Data & Databases

- [Chat Message History Browsers](https://awesome-repositories.com/f/data-databases/message-browsers/chat-message-history-browsers.md) — Provides a scrollable message history browser that displays text, images, voice, video, and custom message types with tap and hold interactions. ([source](https://cdn.jsdelivr.net/gh/jpush/aurora-imui@master/README.md))

### Mobile Development

- [Native API Bridges](https://awesome-repositories.com/f/mobile-development/android-ecosystem/android-platform-integrations/native-platform-access/native-api-bridges.md) — Exposes platform-specific chat UI elements through a bridge layer that translates common API calls into native view hierarchies.
- [Chat UI Components](https://awesome-repositories.com/f/mobile-development/android-ecosystem/android-ui-components/chat-ui-components.md) — Provides Android-native UI components for building chat interfaces with message history and multimedia input.
- [Native UI Components](https://awesome-repositories.com/f/mobile-development/ios-chat-ui-frameworks/native-ui-components.md) — Provides iOS-native UI components for constructing messaging screens with text, voice, and media messages.
- [Chat Components](https://awesome-repositories.com/f/mobile-development/react-native-ecosystem/react-native-components/chat-components.md) — Provides React Native components for rendering message lists and input areas with multimedia support.

### Networking & Communication

- [Unified Input Composers](https://awesome-repositories.com/f/networking-communication/messaging-exchange-frameworks/rich-message-types/unified-input-composers.md) — Provides a unified input area for composing and sending text, voice, photos, and camera captures in messaging apps.

### Software Engineering & Architecture

- [Input Mode State Machines](https://awesome-repositories.com/f/software-engineering-architecture/state-machine-logic/lightweight-state-machines/error-state-machines/input-mode-state-machines.md) — Manages the multi-modal input bar as a finite state machine that switches between text, voice, photo, and camera capture modes.
- [Reactive Chat Model Bindings](https://awesome-repositories.com/f/software-engineering-architecture/view-model-architectures/model-view-viewmodel/reactive-chat-model-bindings.md) — Separates chat data into a platform-agnostic model layer that drives view updates through reactive bindings to native list components.

### Part of an Awesome List

- [Chat UI](https://awesome-repositories.com/f/awesome-lists/media/chat-ui.md) — Universal instant messaging UI library.
- [Media and Communication](https://awesome-repositories.com/f/awesome-lists/media/media-and-communication.md) — Universal IM chat UI component for mobile platforms.
