总结反思 持续进步-开源即时通讯(IM)项目OpenIM 新版本release-v3.7发布

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 背景过去,我们团队对开源项目的认知较浅,过分追求进度,而忽视了代码的质量和规范。这导致了一些问题,例如部署流程设计不当:流程复杂、不规范,以及Mac与Windows部署的明显缺陷。这些问题不仅给开发者带来了困扰,也增加了社区维护的难度。针对这些挑战,我们团队进行了深刻的反思并总结出了相关问题。目前,我们正在专注于提高代码质量和规范化工作,并在完善我们的开源贡献流程,以吸引更多贡献者参与。我们相信这是关键步骤,以扩大社区的影响力并将OpenIM发展成为一流的开源项目。为此,我们已规划推出release-v3.7版本,该版本将全面改造部署、规范和流程等方面,并且与3.6版本数据完全兼容。

背景
过去,我们团队对开源项目的认知较浅,过分追求进度,而忽视了代码的质量和规范。这导致了一些问题,例如部署流程设计不当:流程复杂、不规范,以及Mac与Windows部署的明显缺陷。这些问题不仅给开发者带来了困扰,也增加了社区维护的难度。

针对这些挑战,我们团队进行了深刻的反思并总结出了相关问题。目前,我们正在专注于提高代码质量和规范化工作,并在完善我们的开源贡献流程,以吸引更多贡献者参与。我们相信这是关键步骤,以扩大社区的影响力并将OpenIM发展成为一流的开源项目。

为此,我们已规划推出release-v3.7版本,该版本将全面改造部署、规范和流程等方面,并且与3.6版本数据完全兼容。

OpenIM是什么
OpenIM区别于诸如Telegram、Signal、Rocket.Chat等独立聊天应用。这些应用提供完整的用户界面和后端服务,允许用户直接下载并使用。相反,OpenIM是一个为开发者设计的开源即时通讯解决方案,它不提供直接安装使用的单独聊天应用程序。

OpenIM主要由OpenIM SDK和OpenIM Server两部分组成,它们为开发者提供了一套工具和服务,使得开发者能够在自己的应用程序中轻松集成即时通讯功能,包括发送和接收消息、用户管理、群组管理等。

总的来说,OpenIM专为开发者而设计,提供了必要的工具和框架,帮助他们在各自的应用中实施高效的即时通讯解决方案,而不是作为一个面向普通用户的独立聊天应用。

1.jpg

release-v3.7特性列表
序号 更新内容 描述
1 引入Mage构建 废弃Shell脚本,采用Mage构建系统,支持Linux、Windows、Mac系统,以及ARM和AMD CPU架构。
2 配置文件拆分 将全局配置文件分拆成模块化配置,实现模块间隔离,减少系统耦合。
3 RPC入口函数统一 对RPC入口函数进行统一处理,规范化日志记录,并确保版本号清晰展示。
4 通知和Webhook异步处理 通过内部异步队列处理通知和Webhook,与主流程解耦。
5 Docker部署方案升级 全面升级Docker部署方案,按照镜像独立原则,消除对外部网络配置的依赖,支持多平台部署。
6 代码规范严格执行 强调错误处理、日志记录的标准化,并严格遵守Go语言编程规范。
7 通用代码抽离 将各项目的通用模块抽离到tools仓库,配置参数独立,方便各项目复用。
8 protoc替换到官方工具 将IM的pb生成工具由自定义版本修改为官方版本,并用脚本修改omitempty造成的API resp字段丢失问题。
关于我们
得益于广泛的开发者支持,OpenIM在开源即时通讯(IM)领域保持领先地位,目前在GitHub上的星标已超过13k。在如今数据和隐私安全日益受到重视的背景下,私有部署的IM需求正在逐步增加,这一趋势与国内软件产业的兴起密切相关。特别是在政府和企业领域,随着信息技术的快速发展和创新产业的广泛应用,对IM的需求正急速增长。此外,随着协同办公软件市场的持续扩展,“安全可控”已成为最关键的要求之一。在后AIGC时代,IM作为人机交互的首要接口,其价值势必会越来越大。我们期待OpenIM在后AIGC时代能发挥更大的作用,使每一个应用都能集成OpenIM,提升整体效率和安全性。

github: https://github.com/openimsdk

developer: https://docs.openim.io/zh-Hans/

目录
相关文章
|
27天前
|
移动开发 网络协议 Java
即时通讯技术文集(第38期):IM代码入门实践(Part2) [共15篇]
为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第38 期。
42 1
|
1月前
|
Java API 开发工具
开源即时通讯IM框架 MobileIMSDK v6.5 发布
本次更新为次要版本更新,进行了bug修复和优化升级(更新历史详见:码云 Release Notes、Github Release Notes)。 MobileIMSDK 可能是市面上唯一同时支持 UDP+TCP+WebSocket 三种协议的同类开源IM框架。轻量级、高度提炼,历经10年、久经考验。客户端支持iOS、Android、Java、H5、微信小程序、Uniapp,服务端基于Netty。
78 2
|
1月前
|
安全 Java 数据库
即时通讯技术文集(第37期):IM代码入门实践(Part1) [共16篇]
为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第37 期。
32 2
|
1月前
|
自然语言处理 监控 数据可视化
海拍客与瓴羊达成合作,通过智能客服系统提升员工内部服务体验
海拍客与瓴羊达成合作,通过智能客服系统提升员工内部服务体验
|
1月前
|
自然语言处理 监控 机器人
中国联通济南分公司与瓴羊达成合作,以智能客服系统提升员工内部服务体验
中国联通济南分公司与瓴羊达成合作,以智能客服系统提升员工内部服务体验
|
1天前
|
人工智能 机器人 API
Dify 构建一个基于 GPT 的 AI 客服系统
Dify 构建一个基于 GPT 的 AI 客服系统
12 0
|
13天前
|
机器学习/深度学习 存储 人工智能
构建基于AI的智能客服系统的技术探索
【6月更文挑战第6天】本文探讨了构建基于AI的智能客服系统,强调其在快速、准确、个性化响应客户方面的重要性。系统关键技术包括自然语言处理(NLP)、知识库管理、自主学习和更新以及多渠道支持。NLP使用深度学习模型理解用户输入,知识库存储解决方案,自主学习通过反馈和新数据优化性能。智能客服系统能提供高效、准确、个性化的服务,并具有良好的可扩展性,未来将在更多领域发挥作用。
|
19天前
|
JavaScript Java 测试技术
基于springboot+vue.js的交通管理在线服务系统附带文章和源代码设计说明文档ppt
基于springboot+vue.js的交通管理在线服务系统附带文章和源代码设计说明文档ppt
19 0
|
25天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的交通管理在线服务系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的交通管理在线服务系统的详细设计和实现(源码+lw+部署文档+讲解等)