
MobileIMSDK-Web是一套纯JS编写的Web端IM即时通讯框架(含服务端):
☞ 补充说明:MobileIMSDK-Web是 MobileIMSDK 的姊妹工程,MobileIMSDK-Web专注于Web端网页聊天(或推送),而MobileIMSDK用于原生代码编写的移动端IM(或推送)应用,但二者可完美互通——从而实现原生代码编写的移动端与基于html的网页聊天完美互通。
☞ 关于为何使用的是Socket.io而不是Netty作为MobileIMSDK-Web的网络层,详见: 《 MobileIMSDK-Web的网络层框架为何使用的是Socket.io而不是Netty? 》。
☞ 关于 MobileIMSDK:
MobileIMSDK主要使用原生代码编写,应用于非Web网页方式的移动端即时通讯场景下( 当然最新的MobileIMSDK框架也支持基于HTML5的WebSocket客户端)。
⭐️ 同步开源地址:
☞ 关于MobileIMSDK-Web:
MobileIMSDK-Web完全使用JavaScript编写,主要应用于不支持HTML5的需要兼容旧式浏览器的Web网页方式的即时通讯场景下(包括但不限于手机端、PC端的网页聊天(或消息推送)等)。
☞ MobileIMSDK与MobileIMSDK-Web的互通:
基于MobileIMSDK-Web开发的开发的网页聊天等和基于MobileIMSDK开发的移动端IM等 可以无缝地进行消息互通,两个框架之间的通信协议完全兼容,从而实现您的网页聊天(或推送)与手机端原生代码开发的IM(或推送)进行完美协作,实现多端通信。
☞ 我该如何选择?
选择一:如果您的应用是用原生代码编写,如移动端是原生代码编写或者不需要兼容旧式浏览器,那么您可以将 MobileIMSDK 引入到您的项目中从而实现IM(或推送)应用;
选择二:如果您的应用是基于Web网页且需要兼容旧式浏览器,那么您的最佳选择就是使用MobileIMSDK-Web来开发您的网页端聊天(或消息推送)。
原生的WebSocket代码或者原始的socket.io代码,使得网络通信代码与大量前端UI界面代码混在一起,使得UI界面的重构、维护、改版都非常困难。而MobileIMSDK-Web工程将让开发者专注于UI应用层的开发,网络通信层专业的代码交由SDK开发人员,从而解偶Web端IM的UI前端和通信层的耦合性,同时大大降低复杂性。
总结一下,MobileIMSDK-Web的设计目标是为您的Web端IM带来以下便利:
整套MobileIMSDK-Web框架由以下2部分组成:

MobileIMSDK-Web的浏览器兼容性:

(☞ MobileIMSDK-Web的兼容性由socket.io网络框架决定: 点此查看兼容性说明 )
得益于socket.io网络框架的高性能和Nodejs的异步编程模型,MobileIMSDK-Web可支持单机数万甚至上十万并发连接。当然,每种应用场景都有各自的特点和差异,请视具体场景具体评估之,性能数据仅供参考。
(关于为何使用的是Socket.io而不是Netty作为MobileIMSDK-Web的网络层,详见《
MobileIMSDK-Web的网络层框架为何使用的是Socket.io而不是Netty?
》)
☞ socket.io性能测试讨论:
socket.io 高并发实战、
socket.io保持6万+连接测试?、
如何实现单服务器300万个长连接的?。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31137859/viewspace-3172860/ ,如需转载,请注明出处,否则将追究法律责任。