开源 im 客户端探索结果

2024-01-07 18:36:33 +08:00
 kuituosi
总结一下这两天的成果,经过热心网友推荐最终锁定 element 和 telegram
我是优先搭建 ios ,一般来说 android 搭建简单一些
搭建 telegram ios 的过程中发现必须要有 ios developer 账号,而且那个不需要账号的选项是无效的
遂转向 element 。element-ios-x 有很多奇怪的要求,也许是太新了吧
搭建 element-ios 的过程相对平稳,对我这种后端出身的人实在太友好了
dendrite 和 element-web 的搭建相对简单,最后实现了消息的通信和音视频
里面貌似没有群组的概念只有聊天室,分为公共聊天和私密聊天
私密聊天需要邀请类似我们的群组
音视频功能都正常,虽然 im 消息功能相比微信单薄,但是已经很不错了
element-ios 暂时不支持贴纸,不过影响不大
在现有的功能下,我应该能很快完成除音视频以外的适配工作
9056 次点击
所在节点    Android
8 条回复
kuituosi
2024-01-08 09:56:14 +08:00
服务器 dendrite 是单体架构也很难扩展
iminto
2024-01-08 10:50:09 +08:00
telegram 服务端不开源啊,怎么会有你这种选择呢
kuituosi
2024-01-08 10:52:35 +08:00
@iminto telegram 有开源实现,虽然大部分开源 server 实现都不太理想,但是作为 api 参考足够了
xiaoshan5733
2024-01-08 16:26:32 +08:00
推荐一下这个 https://tsdaodao.com/
kuituosi
2024-01-10 09:39:46 +08:00
@xiaoshan5733 wukongim 客户端根本不成熟,bug 很多
YamatoRyou
2024-01-13 04:53:05 +08:00
非二次开发, 仅以满足需求为目的自建 Matrix + Element 体验 2 年的感受:
1. 毕竟是国外项目, 本土化不足是必然;
2. 服务端 (Synapse) 客户端 (Element) 均有长期存在并且未修复的 bug, 特定条件下会影响使用;
3. 和 Telegram 一样不支持 CJK 文字搜索, 有时会很难受;
4. 推送需要慢慢调教, 我在这方面走过一些弯路.

Matrix 基金会疑似资金原因在上个月存档了 Synapse (Dendrite 目前存活), Element HQ fork 了一个继续维护;
官方的客户端 (Element 家族) 要说能用也确实能用, 但也仅限于能用, 仍有许多奇怪的小问题. 如今他们大多数人力资源着重开发下一代客户端 (Element X), 现有客户端除 Web 外均已进入摆烂状态 (仅修复安全问题和高优先级错误, 隐约感觉到一股微软的作风). 过去 2 年我给他们的仓库反馈了一些 issues, 但大多数被 tag 后就再也没有下文.
kuituosi
2024-01-13 10:36:52 +08:00
@YamatoRyou 客户端不太清楚,我现在正在做 server 适配工作
服务器 Synapse 和 Dendrite 的实现非常糟糕,尤其是在性能方面
我认为 Dendrite 的 bug 永远修不完,一方面是设计问题,另一方面 im 本身确实比较复杂
Matrix 的目标太大导致实现困难,尤其是支持 federal
我现在的目标是 server 适配兼容客户端,重点放在简单性,可靠性和分布式方面
kuituosi
2024-01-13 20:40:53 +08:00
Matrix 的通讯协议设计不能很好 scale ,就不是给大规模企业 im 用的
本人不擅长客户端,如果改造协议成本太高了
折腾几天还是安心转向 tg ,实际上真正全球部署的商业 im 也就那几家,
Matrix 没有这方面的经验太正常了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/1006590

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX