关于im:IM开源推荐前微信技术专家打造的开源的即时通讯组件OpenIM

347次阅读

共计 3570 个字符,预计需要花费 9 分钟才能阅读完成。

Open-IM 是由前微信技术专家打造的 开源 的即时通讯组件。Open-IM 包含 IM 服务端和客户端 SDK,实现了高性能、轻量级、易扩大等重要个性。开发者通过集成 Open-IM 组件,并私有化部署服务端,能够将即时通讯、实时网络能力疾速集成到本身利用中,并确保业务数据的安全性和私密性。

Open-IM 包含哪些模块

(一)客户端

(1)golang 实现的跨平台的 SDK:Open-IM-SDK-Core,开发者不须要关怀

(2)在 Open-IM-SDK-Core 根底上生成的 iOS 版本 SDK:Open-IM-SDK-iOS,供开发者援用

(3)在 Open-IM-SDK-Core 根底上生成的 Android 版本 SDK:Open-IM-SDK-Android,供开发者援用

(4)在 Open-IM-SDK-iOS、Open-IM-SDK-Android 生成的 Flutter 版本 SDK:Open-IM-SDK-Flutter,供开发者援用

(5)在 Open-IM-SDK-iOS、Open-IM-SDK-Android 生成的 uni-app 版本 SDK:Open-IM-SDK-Uniapp,供开发者援用

(6)基于 Open-IM-SDK-iOS 开发的、供开发者参考的 iOS Demo:Open-IM-iOS-Demo,供开发者参考

(7)基于 Open-IM-SDK-Android 开发的 Android Demo:Open-IM-Android-Demo,供开发者参考

(8)基于 Open-IM-SDK-Flutter 开发的 Flutter Demo:Open-IM-Flutter-Demo,供开发者参考

(9)基于 Open-IM-SDK-Uniapp 开发的 uni-app Demo:Open-IM-Uniapp-Demo,供开发者参考

(二)服务端

(1)纯 golang 实现的服务端 Open-IM-Server

(2)docker 镜像:open-im-server

(三)治理后盾

蕴含统计报表、用户治理等经营管理系统:Open-IM-Admin(开发中)

Open-IM 有什么特色

(1) 社区版开源永恒收费

社区版代码全副开源,永恒收费,包含客户端和服务端,由前微信技术专家打造,并邀请寰球技术极客参加建设。

(2) 易扩大

服务端采纳 golang 实现,独创“所有皆音讯”的通信模型,轻松实现自定义音讯和扩大性能。

(3) 业余技术服务

每个技术人员都承当技术客服的角色,强化社区,不提工单,及时解答。

(4) 高性能

借鉴并优化通信架构,形象在线音讯、离线音讯、历史音讯存储模型,分层治理架构,反对集群部署。

(5) 平安

社区版代码全副开源,服务端私有化部署,数据自我掌控。将来退出寰球最平安的 signal 端到端加密协议。

(6) 全平台反对

目前反对 Andorid、iOS、Flutter、Uniapp、Unity、Windows 等支流终端平台,Flutter、iOS、Uniapp 已有成熟 demo 能够体验。

开发者能够应用 Open-IM 代替市场上各种 IM 云服务,除了降低成本,还赋予开发者更多的灵活性和自主性。咱们通过开源的形式,邀请寰球技术极客来参加 Open-IM 建设,使每位开发者都能收费应用最优良的 IM 组件,让每个 app 都具备即时通讯能力。

市场现有产品的痛点

自互联网诞生以来,即时通讯平台就始终存在。从世界范畴来看,WhatsApp、Facebook、微信、Telegram 是当先的音讯平台,用户次要应用这些平台与家人和敌人保持联系。随着互联网的倒退,人与人之间的沟通是刚需,无处不在,简直所有的 APP 都集成 IM 性能,从社交、游戏、到生存中的方方面面,打车、找房等。能够说 IM 作为一种通信能力,曾经成为互联网上的基础设施,成为许多 APP 不可或缺的性能。

如何让 APP 具备 IM 性能,个别有如下三种解决方案:

第一:自研。IM 是一个看起来门槛很低的我的项目,网上有很多所谓的 IM 开发教程,甚至很多毕业生的毕业设计也是做一个 IM 零碎。因为这个误会,很多企业主或者项目经理盲目乐观组建 3 - 5 集体的 IM 团队,历时一年半载,最初只实现了一个 demo 版本。因为架构设计不合理,demo 版本存在音讯失落、零碎异样等 bug,远远达不到商业化的要求。

第二:应用 IM 云服务商的 SDK。很多企业自研 IM 这条路走不通,IM 云服务商看到了商业机会,通过提供 IM SDK 和 API 的形式,让开发者简略集成 IM 性能。当然这里也存在显著的问题。(1)老本问题:企业每年额定领取上万乃至数十万的云服务费用,是个不小的老本;(2)数据隐衷问题:企业的用户数据、聊天记录等外围数据存储在 IM 云服务商,如何保证数据的安全性是个极大挑战;(3)需要定制问题:IM 需要多样化,IM 性能只能由 IM 云服务商通过 SDK 的模式提供给大家应用,对于一些定制化的需要,是否反对,什么时候实现,都是个未知数;(4)云服务商绑架问题:一旦应用 IM 云服务,造成捆绑关系,迁徙老本高,受制于人。

第三:应用开源 IM。github 上 IM 开源我的项目不少,但开发者却很难应用,次要有几点起因(1)集体我的项目居多,尽管有些我的项目也有几 k star,但近几年都无人保护,真正的商业化产品不敢应用;(2)大部分我的项目不是 IM 技术业余团队实现的,技术实力和技术架构存疑,也没有通过大我的项目和海量用户测验;(3)只开源服务端或者客户端,只开源某一端,须要开发者实现另外一端,研发老本同样不小,另外,开源我的项目大部分都是以独自的聊天产品开源,开发者如何把 IM 集成到本身 app 中,同样存在大量的批改和适配老本。(4)局部开源我的项目免费版性能缺失,商业版免费。

Open-IM 劣势

(1)前微信技术专家打造,多年 IM 从业教训。优良的技术架构,禁受过海量用户测验;

(2)残缺组件,一键部署,轻松集成。客户端提炼成不便集成的 SDK,服务端通过 docker 一键部署,经营管理系统展现后盾数据;

(3)全开源,不存在任何闭源免费版本。减少开源社区的参加积极性,产生黏性、惯性、认同感、归属感以及忠诚度,引入更多技术极客,进一步欠缺 Open-IM;

(4)社区版收费,给初创企业每年节俭上万费用。对于应用 IM 云服务的企业,每年能够节俭上万乃至数十万费用;

(5)私有化部署,无任何关联。开发者一键部署 Open-IM 在自家服务器上,齐全解脱了对第三方的依赖,数据隐衷可控、有保障;

(6)不便定制,采纳“所有皆音讯”的通信模型。代码开源,对于自定义需要,开发者能够批改客户端代码轻松实现;

(7)高性能、微服务、集群化。零碎具备平行扩大能力,反对服务注册、服务发现。满足初创企业简略一键部署需要,同时也满足中大型企业集群化部署需要。

(8)收取技术服务费,打造久远、衰弱的商业模式。对于开发者来说,能够收费应用咱们社区版的全副技术和代码。对于高标准的开发者,能够应用咱们的专业版,订阅咱们的技术服务,咱们为之提供更业余的技术服务、咨询服务和私有化部署服务。

咱们的使命

从公司成立之初就将“开源”作为外围策略来推动,开源充分体现了自在、平等、分享的互联网精力。

寰球范畴频繁产生的数据泄露、勒索病毒、隐衷滥用等安全事件一次次给企业敲响警钟,企业管理者对数据资产的价值、数据安全的重要性有了更清晰的意识,数据安全成就企业外围价值。

IM 作为外围业务数据,平安的重要性毋庸置疑,OpenIM 开源以及私有化部署让企业能更放心使用。

现在 IM 云服务商免费高企,如何让企业低成本、平安、牢靠接入 IM 服务,是 OpenIM 的历史使命,也是咱们后退的方向。

咱们的团队

开创团队来自前微信高级架构师、IM/WebRTC 专家团队,咱们致力于用开源技术发明服务价值,打造轻量级、高可用的 IM 架构,开发者只需简略调用 SDK,即可在利用内构建多种即时通讯及实时音视频互动场景。

OpenIM 邀请寰球技术极客参加技术优化,让开发者轻松集成,让每一个利用都具备 IM 性能,同时思考企业的接入老本、服务器资源以及最重要的数据安全性和私密性。

OpenIM github 开源地址:

https://github.com/OpenIMSDK/…

OpenIM 官网:https://www.rentsoft.cn

OpenIM 官方论坛:https://forum.rentsoft.cn

OpenIM 原创文章:

【OpenIM 原创】开源 OpenIM:轻量、高效、实时、牢靠、低成本的音讯模型

【OpenIM 原创】C/C++ 调用 golang 函数,golang 回调 C /C++ 函数

【OpenIM 原创】简略轻松入门 一文解说 WebRTC 实现 1 对 1 音视频通信原理

【OpenIM 扩大】OpenIM 服务发现和负载平衡 golang 插件:gRPC 接入 etcdv3

【开源 OpenIM】高性能、可伸缩、易扩大的即时通讯架构

正文完
 0