đ OpenIM: An Open Source Instant Messaging SDK Solution
OpenIM consists of two main components: OpenIMSDK and OpenIM Server. Its main features are as follows:
đĻ OpenIMSDK
- Embedded directly into applications as a library file.
đĨī¸ OpenIM Server
- Deployed as an independent server-side program.
đĸ Note: OpenIMSDK does not integrate a UI interface, and OpenIM Server does not provide user registration and login functionality. This means it is not a complete IM product.
đ Detailed Explanation of OpenIMSDK
OpenIMSDK is an IM SDK designed for OpenIM Server, specifically created for embedding in client applications. Its main functions and technical features are as follows:
đ Key Features:â
- đĻ Local Storage
- đ Listener Callbacks
- đĄī¸ API Encapsulation
- đ Connection Management
đ Main Modules:â
- đ Initialization and Login
- đ¤ User Management
- đĢ Friend Management
- đ¤ Group Functions
- đŦ Session Handling
đ§ Technical Implementation:â
- đī¸ Written in Golang
- đ Cross-platform compilation using Gomobile
- đ¸ī¸ Web SDK implementation using wasm technology
- đ C interface export through cgo
- đ Covers almost all platforms and languages
Platform/Language | SDK Resource Link | SDK Description | Example Resource Link | Description |
---|---|---|---|---|
Golang | open-im-sdk-core | Golang version SDK, implemented using Gomobile/wasm/cgo | ||
iOS | open-im-sdk-ios | iOS version SDK | open-im-ios-demo | iOS example |
Android | open-im-sdk-android | Android version SDK | open-im-android-demo | Android example |
Flutter | open-im-sdk-flutter | Flutter version SDK | open-im-flutter-demo | Flutter example |
uni-app | open-im-sdk-uniapp | uni-app version SDK | open-im-uniapp-demo | uni-app example |
JS SDK | open-im-sdk-web-wasm | JS SDK version | open-im-pc-web-demo | PC web example |
React Native | open-im-sdk-reactnative | React Native SDK | open-im-reactnative-demo | React Native example |
đ Detailed Explanation of OpenIM Serverâ
OpenIM Server has the following features:
- 𧊠Composed of multiple modules, such as gateway and multiple rpc services.
- đ Microservice architecture, supporting cluster mode.
- đ Various deployment methods, such as source code, Kubernetes, or Docker deployment.
đ OpenIM Server Repository Link
đ REST APIâ
- OpenIM Server provides REST APIs for business systems, enabling more functionalities like creating groups and sending push messages through backend interfaces.
đ Callbackâ
- OpenIM Server offers callback capabilities to extend more business forms. Callbacks refer to OpenIM Server sending requests to business servers before or after certain events, like before or after sending a message.