2020技术总结与飞享IM项目规划发展

comsince

comsince

FshareIM Team

一年大事记载

概述

飞享IM起源于2019年的推送项目,当时的项目还只是定位于消息推送,因为我从事推送行业已经有几年时间了,为了能够实现技术自主可控,一致希望能自主开发推送系统,加上tio项目这几年在国内比较火,同时也为了能够快速开发,所以选择了此网络框架.项目在2019年的时候一度是以开源的方式进行的.那是还不是一个IM项目.

疫情蔓延

2019年末的时候,项目进行了演变开始在向IM项目上推进,到2019年为了支持web聊天功能,我开始研究前端,并在年底之前开源的现在[vue-chat]也就是web版本飞享项目,一直延续到现在. 2020年不平凡的一年,开年疫情蔓延,从1月到3月一致没有管项目了.长达几个月的时间,我以为项目就失败了.那个时候服务端项目还是开源的,项目在短短时间内,收到很多的人关注,我看到大家对IM的研究热情一致没有减退.所以那是也建立qq群组.每天都有一些加我好友,询问一些IM的技术问题.

项目发展

项目这个时候飞速发展,我一直都在埋头苦干,不断增加功能,期间也有人不断提出新的需求.但是项目的可持续性一直没有找到一个合适的方法,知道群里面的一位唐C好友找了我,那个时候他主动找我,给予我一些服务器上的支持,后来也有些项目上合作.虽然最后项目合作失败了,没有能够帮助到他,但是他是第一个伸出援手,支持开源项目的.在此我也向这位朋友表示感谢.在4,5月疫情如此复杂的情况下给予我帮助.也正式因为他的激励,我更想找到一种可持续的项目发展方式.希望以开源的方式提供技术支持,从而带动项目发展.

这个时候为了以后版权的纠纷,项目在5月份闭源,开始走一些开源项目惯用的方式.我以前也很反感这种方式.但是为了生活,为了能够让项目持续下去,也只能这么做了.希望通过开源的方式跟大家分享技术,并且希望通过这种方式促成与一些企业的合作.所以我一直在个人博客分享IM的技术,即使没有机会合作,也能够分享我在开发IM的过程中一些经验与教训.

开源协议

项目变更了开源协议,使用商业性使用限制协议.这个时候发生了奇怪的事情,群里一位朋友拿着以前的开源代码,在没有经过允许的情况下自主修改擅自开源.并且在项目中并没有声明使用项目的出处.这位群友也是IM爱好者,中间我们进行过多次交流.没想到是最伤我的人.我生气的不是他我的一些设计思想代码开源,主要这个人实在不遵循开源协议,引用项目设计出处拒不说明.因为我一直在使用其他人的开源项目,凡是我用到的项目我都会在项目的Readme中说明出处.在这一年中可能我做的不好的就是我没有能给于开源项目中作出捐赠,或者说非常少.但是以后我也就不断支持其他开源项目,希望我在获利的时候给予别人于支持和鼓励.因为我深知开源不易.尤其是在国内开源环境不是太好的情况下. 这件事对我直接的后果可能是找我寻求技术帮助,我显得有些谨慎了,以为我不知道来自是何目的.所以各位在如果有商业合作,直接跟我说,我也会毫不避讳的分享我自己的体会.

合作共赢

在不断的与人交流中,我也积累了大量的需求,那些IM并没有好友概念.群中的一位朋友,让我完善整个IM的流程,所以就有了加好友,创建群组,单聊等完整的IM流程.过了一段时间也有人需要一对一音视频,我也在不断研究过程,逐步实现了这个功能.可以说,是社区中不断的问题反馈才有了IM继续发展的动力.在此也对这些针对飞享提出建议与问题的用户表示感谢. 当然最重要的是感谢一位愿意为技术付费的用户,是你让项目开启了一种全新的道路.让技术变现成为可能,让我有了动力不断优化系统,梳理系统架构

商业客户

项目发展到能够支持商业化应用也少不了一些个人企业用户的支持,彼此之间的合作,让IM功能不断完善.此时有一个群友给我列了下面的需求,虽然最后没有达成合作,但是他建议也为飞享IM的功能规划奠定了基础.在此对这位群友表示感谢.

IM需求

项目需求目标飞享功能测试(web)飞享功能测试(安卓)描述
提供的登录接口,登录到即时通信服务,同时平台会为每个用户生成一个会话token,作为通信凭证。支持支持通过手机号+手机验证码登录
以服务方式提供:首先注册成为大数据综合应用平台的用户,注册后与手机绑定,并且与统一登录服务验证。不支持不支持
文本消息支持支持
表情消息支持支持
图片消息支持支持
发送附件,附件可以是图片、普通格式文件、音乐文件、视频文件支持支持
地理位置发送不支持支持
语音发送不支持支持
视频聊天支持支持
语音聊天支持支持
语音播放不支持支持
语音聊天(多人)不支持不支持
视频聊天(多人)支持支持
发送文本消息支持支持
图片消息支持支持
表情消息支持支持
发送附件,附件可以是图片、普通格式文件、音乐文件、视频文件支持支持
地理位置发送不支持支持
用户可以邀请自己的好友进入讨论组进行群聊支持支持
创建讨论组的用户支持删除修改操作支持支持
被邀请用户可以退出讨论组支持支持
支持群聊的所有聊天功能部分支持部分支持讨论组就是群聊,群聊未区分群主和管理员
即时通讯消息的发送,当消息发送到对端用户后,提供已发送消息回执机制,确保即时通讯消息可靠发送到对方。不支持不支持
添加好友支持支持
修改好友基础信息部分支持部分支持支持修改好友备注信息
删除好友不支持不支持
好友黑名单不支持不支持
好友申请同意、拒绝以及忽略部分支持部分支持有添加按钮,没有拒绝和忽略按钮
用户新建群组支持支持
用户修改群组部分支持部分支持只支持修改群名
用户解散群组支持支持创建者可以解散群组,非创建者不可以
用户搜索群组部分支持部分支持只能搜索已加入的群组
申请入群不支持不支持
退出群组支持支持

NOTE: 以上功能pc版本的客户端支持最全,具体功能参见:https://fsharechat.cn/docs/introduction/#%E5%8A%9F%E8%83%BD%E5%88%97%E8%A1%A8

主要事件

  • 2020-05 服务端专业版发布,支持minio存储
  • 2020-08 支持群组视频通话
  • 2020-09 基于Electron的pc版本客户端发布
  • 2020-10 支持已读回执功能,飞享官方网站正式上线
  • 2020-11 服务端支持集群部署,方便横向扩展
  • 2020-12 管理后台预览版上线测试

2021 项目规划

管理平台项目

  • 主页
  • IM业务管理
    • 用户管理
      • 封禁用户 即是禁止登录
      • 查看用户详细信息 用户视角查看会话
    • 当前在线用户
    • 用户登录日志
    • 消息管理
      • 消息列表
        • 消息撤回功能
    • 群组管理
      • 查看群组会话

IM开放平台

主要提供开放的接入IM系统,以便复用三方应用系统的登录认证逻辑,IM只负责核心业务

客户端项目

  • web项目专业版本升级

建议

新的一年即将来临,我将继续深耕即时通讯领域,不断提升产品体验.如果你有其他任何建议可以到QQ群反馈,当然如果需要商业支持,当然可以随时联系我.期待新的一年能够更加美好.提前祝大家新年快乐

参考资料