开源轻量级 IM 框架 MobileIMSDK 的Uniapp客户端库已发布

news2024/11/18 23:31:07

一、基本介绍

MobileIMSDK-Uniapp端是一套基于Uniapp跨端框架的即时通讯库:

  • 1)超轻量级、无任何第3方库依赖(开箱即用);
  • 2)纯JS编写、ES6语法、高度提炼,简单易用;
  • 3)基于Uniapp标准WebSocket API,简洁优雅;
  • 4)理论上可运行于任何支持Uniapp跨端框架的平台上;
  • 5)能与 MobileIMSDK(Github托管链接) 的各种客户端完美互通;
  • 6)可应用于基于Uniapp的跨平台App或Web的消息推送、客服聊天、企业OA、IM等场景。

详细开发资料:

  • ① MobileIMSDK-Uniapp端详细介绍 👈
  • ② MobileIMSDK-Uniapp端开发手册 👈
  • ③ MobileIMSDK-开源框架的详细资料 (Github托管链接)👈

二、与MobileIMSDK的关系

MobileIMSDK-Uniapp端 是基于Uniapp标准 WebSocket API的 MobileIMSDK配套客户端库。

以下是MobileIMSDK的最新通信架构图:

MobileIMSDK是一套专为移动端开发的原创开源IM通信层框架:

  • 1)历经8年、久经考验;
  • 2)超轻量级、高度提炼,lib包50KB以内;
  • 3)精心封装,一套API同时支持UDP、TCP、WebSocket三种协议(可能是全网唯一开源的);
  • 4)客户端支持iOS、Android、标准Java、H5(暂未开源)、微信小程序(暂未开源)、Uniapp
  • 5)服务端基于Netty,性能卓越、易于扩展;
  • 6)可与姊妹工程 MobileIMSDK-Web 无缝互通实现网页端聊天或推送等;
  • 7)可应用于跨设备、跨网络的聊天APP、企业OA、消息推送等各种场景。

PS: MobileIMSDK一直在持续开发和升级中,本Uniapp客户端是MobileIMSDK工程的最新成果。

三、设计目标

直接使用Uniapp的WebSocket API开撸,有以下问题和劣势:

  • 1)功能有限: 没有心跳保活、断线重连、消息送达保证(重传和去重)等即时通讯关键算法和逻辑;
  • 2)API简陋: 在如此有限的API接口下,能逻辑清晰且健壮地实现并组合心跳保活、断线重连、消息送达保证等算法,需要相当高的技术掌控力;
  • 3)逻辑耦合: 经验欠缺的开发人员,会将WebSocket通信与前端UI界面代码混在一起,使得UI界面的编写、维护、改版都非常困难。

针对以上问题: MobileIMSDK-Uniapp端库将让开发者专注于UI应用层的开发,网络通信层的专业代码交由SDK开发人员,从而解偶UI前端和通信层的逻辑耦合性,大大降低技术复杂度和应用门槛。

MobileIMSDK-Uniapp端库的设计目标是为您的开发带来以下便利:

  • 1)界面与通信解偶: UI界面与网络通信代码解耦,UI界面的重构、维护、改版都非常容易和优雅;
  • 2)轻量级和兼容性: 受益于坚持使用Uniapp的标准WebSocket API,简洁轻量,无需任何额外库依赖;
  • 3)核心内聚和收敛: 得益于长期的提炼和经验积累,SDK核心层高度封装,开发者无需理解复杂算法即可简单上手。
  • 4)纯JS轻量级实现: 纯JS编写、ES6语法,无重量级框架和库依赖(更无Native代码),可干净利落地对接各种既有系统;
  • 5)跨平台运行能力: 受益于Uniapp框架的跨端特性,理论上本SDK可运行于任何支持Uniapp的平台上。

四、技术亮点

  • 1)轻量易使用: 超轻量级——纯JS编写且无任何第3方库依赖,高度提炼——简单易用;
  • 2)代码现代感: 尽可能优先使用ES6语法,摒弃旧式JS语法的年代感;
  • 3)跨端支持好: 基于Uniapp的标准WebSocket API(无Native代码依赖),理论上可很好地运行于任何支持Uniapp的平台上;
  • 4)断网恢复能力: 拥有网络状况自动检测、断网自动治愈的能力;
  • 5)送达保证机制: 完善的QoS消息送达保证机制(自动重传、消息去重、状态反馈等),不漏过每一条消息;
  • 6)通信协议封装: 实现了一个对上层透明的即时通讯通信协议模型;
  • 7)身份认证机制: 实现了简单合理的身份认证机制;
  • 8)完善的log信息: 在开发调试阶段,确保每一个算法关键步骤都有日志输出,让您的运行调试更为便利;
  • 9)界面代码解耦: 实现了UI界面代码与SDK网络通信代码解偶,防止界面代码跟IM核心代码混在一起,不利于持续升级、重用和维护;
  • 10)多端协议兼容: 实现了与MobileIMSDK各种客户端完全兼容的协议模型。

五、文件组成

SDK代码文件概览:

SDK代码文件用途说明:

六、Demo运行效果和说明

七、跨平台运行效果演示

1)Demo在内置浏览器中的运行效果:

2)Demo在电脑浏览器中的运行效果(以Chrome为例):

3)Demo在Android真机上的运行效果:

4)Demo在iOS模拟器上的运行效果:

5)Demo在iOS真机上的运行效果:

6)Demo在微信小程序上的运行效果:

7)Demo在支付宝小程序上的运行效果:

其它更多平台的运行效果就不一一列举了,因为都要安装各自的开发工具,硬盘空间吃紧 。。。

八、详细资料

① MobileIMSDK-Uniapp端的详细介绍:点此查看 👈
② MobileIMSDK-Uniapp端的开发手册:点此查看 👈
③ MobileIMSDK-开源框架的详细介绍:https://gitee.com/jackjiang/MobileIMSDK (Github托管链接)👈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/517199.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

html实现经典捕鱼达人小游戏

文章目录 1.设计来源1.1 游戏界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/130638634 html实现经典捕鱼达人小游戏源码 ,99.99%的还原实物,起…

【办公】解决京瓷打印机总是出现烦人的“在手送纸盘中装纸 彩色纸”的问题

问题 打印机是日常办公的常见工具,京瓷是著名的打印机品牌,而且是很多事业单位首选的打印机品牌。然而在日常使用中京瓷打印机总是会出现烦人的“在手送纸盘中装纸 彩色纸”的问题,如下图所示: 一旦出现该问题,就需要…

给XZZ准备的小攻略(私人向)

定时发送邮件功能: 定时发送邮件的功能位于 homework 的 views.py 中 使用的模块是 apscheduler (我读作ap司改就) 准备的部分:(了解即可) 安装好 django-apscheduler 后,在 setting.py 中添…

python 调用golang 注意事项

1.调用编译后的动态库文件,报头文件错误 原因: 不同平台下编译的add.so 不能通用,Windows下可以运行的so文件,linux下就不能运行,需要重新编译linux的so文件; 该报错可能就是跨平台使用动态库文件了&…

yolov5爬坑小作文

第一坑 做完训练集,配置要yaml文件后,笔者启动了训练命令 python train.py --data 我的yaml位置 --batch-size 我的每次进行一次反向传播之前需要前向计算的图片张数 --device 我的GPU编号 之后报错 OSError: [WinError 1455] 页面文件太小,无法完成…

检测数据类型

//typeof() 对于基本数据类型没问题,遇到引用数据类型不管用 console.log(typeof 666) //number console.log(typeof [1,2,3]) //object //instanceof() 只能判断引用数据类型,不能判断基本数据类型 console.log( [] instanceof Array) //true …

Acunetix 15.6 (Linux, Windows) - Web 应用程序安全测试

Acunetix 15.6 (Linux, Windows) - Web 应用程序安全测试 请访问原文链接:https://sysin.org/blog/acunetix-15/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org Acunetix 漏洞扫描器,管理您的网络安全。…

电脑待机怎么设置?分享4个宝藏方法!

案例:电脑待机怎么设置 【有时候我使用电脑时可能因为各种事而被打断,但是不是很想让电脑关机,请问大家电脑待机时间应该怎么设置呀?】 有时候我们在使用电脑时可能需要做别的一些事,这时我们的电脑会进入待机状态。…

裸奔时代,隐私何处寻?

随着互联网的普及,人工智能时代的大幕初启,数据作为人工智能的重要支撑,数据之争成为“兵家必争之地”,随之而来的就是,各种花式手段“收割”个人信息,用户隐私暴露程度越来越高,隐私保护早已成…

空间权重矩阵与相关性检验(Stata)

空间权重矩阵与相关性检验(Stata) 文章目录 空间权重矩阵与相关性检验(Stata)[toc]1 空间相关性检验1.1 全局空间相关性检验1.2 局部空间自相关检验1.3 散点图 2 权重矩阵2.1 截断距离权重矩阵2.2 反距离权重矩阵 1 空间相关性检验 cd "D:\Allcode\Stata\Spatial-Econome…

如何在知行之桥EDI系统中修改ICN?

EDI电子数据交换中的ICN是什么? 在EDI术语中,ICN# 的全称为Interchange Control Number,是文件的发送方分配的唯一标识符,可以识别每一个文件。 我们常见的符合X12和EDIFACT报文标准的文件中,ICN#分别指的是ISA13和U…

泼辣修图app下载2024最新版修图滤镜

泼辣修图专业版是一款强大的专业修图软件,拥有上百款调色工具还有丰富的图层素材, 更有智能的人像修饰面板,具备物体识别的智能蒙板,高效的滤镜管理系统和强大的文字工具,支持批量处理。一切围绕摄影,无论是…

如何在 Windows 10 上安装 WSL

第 1 步,启用 WSL 不管您想要使用哪个版本的 WSL,都首先需要启用它。为此,请以管理员身份打开 PowerShell 工具并运行以下命令。小心不要在命令中输入错误或遗漏任何字符: dism.exe /online /enable-feature /featurename:Micro…

DolphinDB 流数据状态函数插件介绍

1. 引言 量化金融的研究和实盘中,越来越多的机构需要根据高频的行情数据(L1/L2以及逐笔委托数据)来计算量价因子,每只股票的每一条新数据的注入都会更新该只股票的所有因子值。这些因子通常是有状态的:不仅与当前的多…

精选博客系列|VMware发布下一代Workspace ONE SaaS平台,性能提升了10倍!

我们很高兴地宣布下一代 Workspace ONE SaaS 平台面世了!日前公布的 Workspace ONE 架构的根本变化已经包含了我们最近的一些进展,例如自由式编排器,而且将成为未来 VMware 终端用户计算(EUC)创新的基石。 现代化的架…

【python】python闭包的详细解读(傻瓜式教学)

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化 👉专__注👈:专注主流机器人、人工智能等相关领域的开发、…

第八届SkyHackathon环境配置及问答指南

第八届SkyHackathon环境配置提问说明 本届Hackathon以传送带上的箱子检测为目标, 参赛的队伍需要完成: 利用Omniverse Replicator合成训练数据集利用合成的数据集, 训练目标检测模型将检测模型部署在组委会提供的Jetson Xavier NX节点上 其中上述第一和第二步需要参赛的同学…

前端——JS

1.JS的学习内容 JavaScript的组成包含ECMAScript、DOM、BOM。 2.JS的特点 JS是运行在浏览器上的一种脚本语言 【1】Java和JS的区别&#xff1a; 【2】HTML和CSS和JS这三者的关系 3.JS的引入方式 3.1JS的引入方式1 <!DOCTYPE html> <html lang"en"> &…

飞书文档和Cnfluence之间的区别是什么

PingCode 知识库、Confluence 等知识库工具和腾讯文档、WPS、飞书文档到底有什么区别&#xff1f;这是企业团队在找文档管理工具最常见的问题。这两种工具虽然都可以用于组织和共享知识&#xff0c;但它们在功能、使用场景和用户群体方面有很大的区别。那么&#xff0c;它们到底…

亚马逊云科技推出Matter PKI合规指导手册

亚马逊云科技推出Matter公钥基础设施&#xff08;Public Key Infrastructure,PKI&#xff09;合规指导手册&#xff0c;帮助客户使用Amazon Private Certificate Authority&#xff08;Amazon Private CA&#xff09;证书服务构建符合Matter要求的PKI证书体系&#xff0c;加快客…