一、基本介绍

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

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

详细开发资料:

二、与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-Uniapp端的开发手册(精编PDF版):点此查看  (* 推荐)
④ MobileIMSDK-开源框架的详细介绍:https://gitee.com/jackjiang/MobileIMSDK (Github托管链接

开源轻量级 IM 框架 MobileIMSDK 的Uniapp客户端库已发布的更多相关文章

  1. 【开源】EFW框架系列文章索引

    开源轻量级.Net框架EnterpriseFrameWork详解 ——自己动手写框架 ——适合中小企业的开发框架 ——Ajax+JqueryEasyUI+NotNetBar+MVC+WebServic ...

  2. 【原创】轻量级即时通讯技术MobileIMSDK:Android客户端开发指南

    申明:MobileIMSDK 目前为个人维护的原创开源工程,现陆续整理了一些资料,希望对需要的人有用.如需与作者交流,见文章底签名处,互相学习. MobileIMSDK开源工程的代码托管地址请进入 G ...

  3. 开源轻量级即时通讯技术 MobileIMSDK 的常见问题解答

    本帖最后由 茜茜asa 于 2015-12-14 17:50 编辑 申明:MobileIMSDK 目前为个人原创开源工程且已发布,现整理了一些有关MobileIMSDK的常见的问题,希望对需要的人有用 ...

  4. 微博轻量级RPC框架Motan正式开源:支撑千亿调用

    支撑微博千亿调用的轻量级 RPC 框架 Motan 正式开源了,项目地址为https://github.com/weibocom/motan. 微博轻量级RPC框架Motan正式开源 Motan 是微 ...

  5. 腾讯正式开源高性能超轻量级 PHP 框架 Biny

    概况 Biny是一款高性能的超轻量级PHP框架 遵循 MVC 模式,用于快速开发现代 Web 应用程序 Biny代码简洁优雅,对应用层,数据层,模板渲染层的封装简单易懂,能够快速上手使用 高性能,框架 ...

  6. 八款你不得不知的开源前端JS框架

    angular.js Angular.JS是一个开源的JavaScript框架,最适于开发客户端的单页面应用.它实现了前端MVC架构,专注于扩展HTML功能,提供动态数据绑定(Data Binding ...

  7. 十九、【.Net开源】EFW框架核心类库之WCF控制器

    回<[开源]EFW框架系列文章索引> EFW框架源代码下载V1.1:http://pan.baidu.com/s/1qWJjo3U EFW框架实例源代码下载:http://pan.baid ...

  8. 值得推荐的开源C/C++框架和库

    值得学习的C语言开源项目   - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工 ...

  9. java开源工具包-Jodd框架

    java开源工具包-Jodd框架 /    2019-07-24 Jodd是一个Java工具包和微型框架,Jodd 工具包含一些实用的工具类和小型框架,增强了 JDK 提供很多强大的功能,可以帮助实现 ...

  10. 推荐:实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求

    推荐一个比较好用的流媒体服务开源代码: ZLMediaKit: 实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求 https://gitee.com/xiahcu/Z ...

随机推荐

  1. 云原生周刊:Linkerd 发布 v2.14 | 2023.9.4

    开源项目推荐 Layerform Layerform 是一个 Terraform 包装器,可帮助工程师使用纯 Terraform 文件构建可重用的基础设施. 为了实现重用,Layerform 引入了层 ...

  2. 基于 KubeKey 扩容 Kubernetes v1.24 Worker 节点实战

    前言 知识点 定级:入门级 KubeKey 扩容 Worker 节点 openEuler 操作系统的基本配置 Kubernets 基本命令 实战服务器配置(架构 1:1 复刻小规模生产环境,配置略有不 ...

  3. 在浏览器输入 URL 回车之后发生了什么(流程图,超详细版)

    前言 这个问题已经是老生常谈了,更是经常被作为面试的压轴题出现,网上也有很多文章,但最近闲的无聊,然后就自己做了一篇笔记,感觉比之前理解更透彻了. 这篇笔记是我这两天看了数十篇文章总结出来的,所以相对 ...

  4. rqt的安装及详细介绍

    1. 安装 安装极其简单,不多介绍,直接上命令:Melodic: sudo apt-get install ros-melodic-rqt sudo apt-get install ros-melod ...

  5. Webstorm 2024 安装使用 (附加永久激活码、补丁)

    下载安装 第二步,安装完成之后,下载补丁 下载地址(里面包含激活码) 完成,之后输入激活码 免责声明:本文中的资源均来自互联网,仅供个人学习和交流使用,严禁用于商业行为,下载后请在24小时内从电脑中彻 ...

  6. virsh的基本使用

    virsh基础命令 1.查看运行的虚拟机 virsh list 查看所有的虚拟机(关闭和运行的,不包括摧毁的) virsh list --all 2..启动虚拟机 virsh start 虚拟机名称 ...

  7. IPC-7711/21D, IPC-7711D, IPC-7721D 电子组件的返工、修改和维修,验收标准。Rework, Modification and Repair of Electronic Assemblies

    IPC-7711/21 - Revision D - Standard Only: Rework, Modification and Repair of Electronic Assemblies T ...

  8. 【一步步开发AI运动小程序】十七、如何识别用户上传视频中的人体、运动、动作、姿态?

    [云智AI运动识别小程序插件],可以为您的小程序,赋于人体检测识别.运动检测识别.姿态识别检测AI能力.本地原生识别引擎,内置10余个运动,无需依赖任何后台或第三方服务,有着识别速度快.体验佳.扩展性 ...

  9. flask 中的request【转载】

    每个框架中都有处理请求的机制(request),但是每个框架的处理方式和机制是不同的,为了了解flask的request中都有什么东西,首先我们要写一个前后端的交互 基于HTML+Flask 写一段前 ...

  10. java应用详解

    java应用详解 文档介绍: 1.nio应用(ServerSocketChannel.FileChannel). 2.优化jvm参数提升eclipse运行速度. 3.maven3.0.3安装及入门例子 ...