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】高性能、可伸缩、易扩大的即时通讯架构