OpenIM是由IM技术专家打造的开源的即时通讯组件


发布于 2024-11-04 / 23 阅读 / 0 评论 /
OpenIM是由IM技术专家打造的开源的即时通讯组件。OpenIM包括IM服务端和客户端SDK,实现了高性能、轻量级、易扩展等重要特性。开发者通过集成OpenIM组件,并私有化部署服务端,可以将即时通讯、实时网络能力快速集成到自身应用中,并确保业务数据的安全性和私密性。 🚀 OpenIM: 用于构

OpenIM是由IM技术专家打造的开源的即时通讯组件。OpenIM包括IM服务端和客户端SDK,实现了高性能、轻量级、易扩展等重要特性。开发者通过集成OpenIM组件,并私有化部署服务端,可以将即时通讯、实时网络能力快速集成到自身应用中,并确保业务数据的安全性和私密性。

🚀 OpenIM: 用于构建应用内聊天开源SDK

不同于 WeChat、Slack等独立聊天应用,OpenIM为开发者提供了一套开源即时通讯SDK。 开发者能够轻松地在自己的应用程序中集成即时通讯功能,从而避免了从零开始构建复杂的聊天系统。 此外,OpenIM 也可作为 Twilio、Sendbird 等即时通讯云服务的开源替代品。 需要注意的是,开发者需要开发客户端UI,而OpenIM的DEMO仅作为参考。

OpenIM 是由两大核心组件构成的即时通讯解决方案:OpenIM SDKOpenIM Server。以下是其主要特征:

📦 OpenIM SDK:

  • 作为库文件形式,直接嵌入到应用程序中,便于开发者快速集成。

🖥️ OpenIM Server:

  • 作为独立的服务端程序私有化部署,提供强大的消息管理、分发、推送能力。

关系示意图

📘 详解OpenIM SDK

OpenIM SDK 是为 OpenIM Server 设计的IM SDK,嵌入客户端应用中。其主要功能和技术特点如下:

🌟 主要功能:

  • 📦 本地存储

  • 🔔 监听器回调

  • 🛡️ API封装

  • 🌐 连接管理

📚 主要模块:

  1. 🚀 初始化及登录

  2. 👤 用户管理

  3. 👫 好友管理

  4. 🤖 群组功能

  5. 💬 会话处理

🔧 技术实现方面:

  • 🏗️ 使用Golang编写

  • 🌉 利用Gomobile进行跨平台编译

  • 🕸️ wasm技术实现web端SDK

  • 🌌 通过cgo实现c接口导出

  • 🌍 覆盖几乎所有平台和语言

🛠️ SDK-DEMO

平台/语言

SDK资源链接

SDK描述

带UI的demo

描述

Golang

open-im-sdk-core

Golang SDK

iOS

open-im-sdk-ios

iOS SDK

open-im-ios-demo

iOS示例

Android

open-im-sdk-android

Android SDK

open-im-android-demo

Android示例

Flutter

open-im-sdk-flutter

Flutter SDK

open-im-flutter-demo

Flutter示例

uni-app

open-im-sdk-uniapp

uni-app SDK

open-im-uniapp-demo

uni-app示例

JS SDK

open-im-sdk-web-wasm

JSSDK

open-im-pc-web-demo

PC web示例

React Native

open-im-sdk-reactnative

React Native SDK

open-im-reactnative-demo

React Native示例

electron FFI

openim-sdk-electron

electron FFI SDK

open-im-electron-ffi

electron FFI 示例

.NET

open-im-sdk-dotnet

.NET SDK

open-im-dotnet-demo

.NET 示例

Unity

open-im-sdk-unity

Unity SDK

open-im-unity-demo

Unity示例

C/C++

open-im-sdk-cpp

C/C++ SDK

🔍 详解OpenIM Server

OpenIM Server 具有以下特点:

  • 🧩 多模块构成,如网关(gateway)和多个rpc服务。

  • 🌐 微服务架构,支持集群模式。

  • 🚀 部署方式多样,如源代码、kubernetes或docker部署。

🔗 OpenIM Server 仓库地址

🌐 REST API

  • OpenIM Server 提供了REST API供业务系统使用,例如通过建立群组、发送推送消息等。REST API以APP管理员身份调用,旨在赋予业务更多功能。

📞 Webhook

  • OpenIM Server提供了回调能力以扩展更多的业务形态,所谓回调,即OpenIM Server会在某一事件发生之前或者之后,向指定的服务器发送请求,如发送消息之前或之后的回调。



是否对你有帮助?

评论