• Stars
    star
    692
  • Rank 65,341 (Top 2 %)
  • Language
    Java
  • License
    MIT License
  • Created about 9 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

云信 IM UIKit 是基于 NIM SDK(网易云信 IM SDK)开发的一款即时通讯 UI 组件库,包括聊天、会话、圈组、搜索、群管理等组件。通过 IM UIKit,可快速集成包含 UI 界面的即时通讯应用。

云信 IM UIKit 是基于网易云信 IM SDK 开发的一款即时通讯 UI 组件库,包括聊天、会话、圈组、搜索、群管理等组件。通过 IM UIKit,可快速集成包含 UI 界面的即时通讯应用。

IM UIKit 简化了基于 NIM SDK 的应用开发过程。它不仅能助您快速实现 UI 功能,也支持调用 NIM SDK 相应的接口实现即时通讯业务逻辑和数据处理。因此,您在使用 IM UIKit 时仅需关注自身业务或个性化扩展。

功能优势

优势 说明
UI 组件解耦 IM UIKit 不同组件可相互独立运行使用。您可按需选择组件,将其快速集成到您的应用,实现相应的 UI 功能,减少无用依赖。
UI 能力简洁易用 IM UIKit 的业务逻辑层与 UI 层相互独立。在 UI 层,您仅需关注视图展示和事件处理。IM UIKit 清晰的数据流转处理,让 UI 层代码更简洁易懂。
强大的自定义能力 IM UIKit 支持在各 UI 组件的初始化过程中配置自定义 UI。同时提供 Fragment 和 View 的能力封装,助您快速将 UI 功能添加到您的应用中。
完善的业务逻辑处理 IM UIKit 业务逻辑层提供完善的业务逻辑处理能力。您无需关心 SDK 层不同接口间的复杂处理逻辑,业务逻辑层一个接口帮您搞定所有。

技术原理

工作原理

IM UIKit 采用 (Model–View–ViewModel)MVVM 架构模型,实现 UI 展示与业务逻辑开发的相互独立。

IMuikitDataFlow_Android.png

流程 说明
1 IM UIKit 展示层的 Activity/Fragment/View 向响应层的 ViewModel 发送请求。
2 ViewModel 将请求经由业务逻辑层转发至 NIM SDK(网易云信 IM SDK)。
3 NIM SDK 接收请求后触发回调,回调数据经由业务逻辑层和响应层发送至 Activity/Fragment/View。
4 Activity/Fragment/View 将回调数据发送至 RecyclerViewAdapter。后者根据界面需要展示的不同实体的 type,判定具体的 UI 样式。例如,SDK 返回的回调数据为消息数据时,RecyclerViewAdapter 可判定消息数据中包含的消息类型(即 type),将消息在 UI 上展示为对应类型的样式。

产品架构

IMuikitArch.png

上图中:

  • UIKit UI 层的 ContactKit-uiChatKit-uiConversationKit-uiQChatKit-ui,对应上述工作原理图中的 Activity/Fragment/View。
  • UIKit UI 层的 ContactKitChatKit ConversationKitQChatKit,对应上述工作原理图中的 Repository。
  • UIKitCore 层对应上述工作原理图中的 Provider。

详见IM UIKit介绍

IM UIKit 集成

具体的集成流程,请参见快速集成 IM UIKit

More Repositories

1

nim-uikit-ios

云信 IM UIKit 是基于 NIM SDK(网易云信 IM SDK)开发的一款即时通讯 UI 组件库,包括聊天、会话、圈组、搜索、群管理等组件。通过 IM UIKit,可快速集成包含 UI 界面的即时通讯应用。
Swift
1,494
star
2

NIM_Web_Demo

网易云信Web Demo发布仓库。#推荐客户得京东卡#首次推荐成单得3000元京东卡,连续推荐4500元/单,上不封顶。点击参与https://yunxin.163.com/promotion/recommend
JavaScript
436
star
3

NIM_PC_Demo

云信Windows(PC) C/C++ Demo源码仓库
C++
274
star
4

NIM_PC_UIKit

C++
199
star
5

NIM_Android_Demo

云信 IM 功能使用参考: https://github.com/netease-kit/nim-uikit-android
Java
158
star
6

NEChatroom

网易云信推出语聊房场景方案,支持语聊 + K 歌、语聊 + 一起听、游戏开黑、多人相亲等多种娱乐社交玩法。提供现成的 Demo App 、可定制的 UI 界面、开源的 Demo 源码,开箱即用,帮助您快速接入、轻松上线语聊房相关业务。
Java
77
star
7

NIM_Web_UIKit

网易云信Web UI组件源码仓库
JavaScript
73
star
8

Wawaji

网易云信娃娃机解决方案
C++
55
star
9

meeting

https://github.com/GrowthEase/NetEase_Meeting
C++
40
star
10

NEVideoCall-1to1

网易云信新一代音视频SDK场景方案开源项目,包含基础场景如一对一音视频通话、多人音视频通话;社交娱乐场景如多人语音聊天室、PK直播等
Objective-C
37
star
11

WisdomEducation

智慧云课堂是网易云信提供的在线互动课堂场景解决方案,基于在线教育场景提供多种课堂模式实践。专为线上课堂场景打造,覆盖多种班型的教学场景、全终端的接入能力,支持课程录制、白板互动、课程活跃度分析等远程课堂功能。在实现云课堂实时互动功能的基础上,还支持业务功能的灵活扩展,帮助您快速上线专属互动教学平台。
Objective-C
36
star
12

NEMeeting

网易会议,是基于网易云信自主研发的新一代云信音视频SDK(G2)提供的视频会议组件化产品,支持直接下载使用,也支持基于SDK将网易会议以组件的方式集成到自己的应用中。本项目提供网易会议产品手册、开发文档、示例项目等相关内容。
C++
35
star
13

NECallKit

实现呼叫、接听、挂断能力,应用于语音、视频通话场景
Objective-C
27
star
14

NEGroupCall

Java
25
star
15

nim-uikit-web

nim uikit web
TypeScript
25
star
16

nim-uikit-flutter

Dart
24
star
17

NIM_iOS_Demo

云信 IM 功能使用参考: https://github.com/netease-kit/nim-uikit-ios
Objective-C
21
star
18

NERTC-Flutter-SDK

NetEase RTC plugin for Flutter Mobile
Dart
18
star
19

nemo

 Nemo是云信派对APP的后端服务开源项目,包括1v1娱乐社交,语聊房、一起听,游戏房,秀场直播(PK直播、pk连麦)场景解决方案的实现。
Java
17
star
20

NIM-Flutter-SDK

C++
16
star
21

Music

网易云信音乐教学解决方案
Java
12
star
22

nim-uikit-uniapp

Objective-C
11
star
23

1V1

Java
8
star
24

OnlinePK

Objective-C
8
star
25

Kit-FullSearch-Electron

TypeScript
7
star
26

documents

4
star
27

NERtcCallKit-Android

Java
4
star
28

NEMedecal

Java
4
star
29

NERtcCallKit-Web

网易云信web端组件化源码工程
TypeScript
3
star
30

NEKaraoke

Java
3
star
31

Developer-Challenge-2021

Java
2
star
32

qchat-uikit-ios

云信 QChat UIKit 是基于 NIM QChat SDK(网易云信 QChat SDK)开发的一款圈组 UI 组件库。通过 QChat UIKit,可快速集成包含 UI 界面的圈组应用。
Swift
2
star
33

nim-uikit-demo-web

nim uikit demo web
TypeScript
2
star
34

nim-uikit-demo-vue

Vue
2
star
35

NERtcCallKit-PC

C++
1
star
36

NEEducation

QML
1
star
37

NEListenTogether

一起听
Java
1
star
38

NELiveKit

Objective-C
1
star
39

NetEase-IM

1
star
40

NEGameRoom

Java
1
star
41

NERtcCallKit-iOS

Objective-C
1
star