把 IM SDK Web 版开源了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
maximtop
V2EX    开源软件

把 IM SDK Web 版开源了

  •  
  •   maximtop 2021-08-14 11:16:35 +08:00 3081 次点击
    这是一个创建于 1520 天前的主题,其中的信息可能已经有所发展或是发生改变。

    七夕快乐,O(∩_∩)O 哈哈~

    上月 PingCAP DevCon 的时候,刘奇分享了一个观点打动了我。他说开源连接的是人,是社区里那些志同道合的开发者。

    什么是志同道合?就是你在做 IM SDK,他们也感兴趣;你想做专业的更好的服务,他们也这样想。

    通过把这样分散在各处的力量通过项目集合起来,一起合作,创造更好的技术与服务,才是开源值得追求的地方。

    我大受撼,但也真的听懂了。

    是的,一个好的开源项目,自己要下功夫,也要学会发挥社区的力量。

    所以我们不只是会继续开源,还会将系统设计、协议等方面的材料公开出来,欢迎感兴趣的朋友持续关注。

    我们一直在认真的开源,因为我们知道,把代码开放简单,但做一个可靠让人喜欢的库就并没有那么容易。也因此即使我们花了很多精力在整理代码,只不过在开放的那一刻,还是会有一丝不好意思。

    还请大家多提建议,喜欢的话记得 Fork 或者 Star 哦

    美信拓扑开源计划( MTOS )

    之前已经将 IM SDK 的安卓原生库和 iOS 原生库都开放了,这次开源的是 IM SDK Web 版,主要涉及两个库:

    floo-web

    给 PC Web 使用的 IM SDK Web 版,使用了 socket.io 作为传输层,同时也是美信拓扑 IM PC 版的基础,后者通过 Electron 封装的是这个版本。

    https://github.com/maxim-top/floo-web

    floo-uniapp

    给 H5 或小程序使用的 IM SDK Uniapp 版,使用 Uniapp 的 socket 作为传输层,完全兼容微信的传输层。

    https://github.com/maxim-top/floo-uniapp

    经过一年多时间的迭代,以上两个库的协议解析层已经完成同步,也就是从 API 和事件处理的角度是完全一致的。这也是为什么我们会跟开发者说参考美信拓扑 IM DemoApp 使用 API 可以任意参考网页端或者小程序端的原因。

    当前美信拓扑开源代码累计 163277 行,计划完成进度 42%。完整计划可以看这里

    16 条回复    2021-08-19 13:43:15 +08:00
    faceair
        1
    faceair  
       2021-08-14 11:29:44 +08:00
    支持,期待服务端的开源!
    JamesChen
        2
    JamesChen  
       2021-08-14 11:52:47 +08:00   1
    难得遇到同行,关注了。等你们那边出了服务端再给个 star 。我也做 IM 的,指不定有机会可以合作下。
    https://github.com/turms-im/turms/
    maximtop
        3
    maximtop  
    OP
       2021-08-14 11:58:48 +08:00
    @faceair 会的会的,谢谢您的关注,节日快乐
    maximtop
        4
    maximtop  
    OP
       2021-08-14 12:06:40 +08:00
    @JamesChen 谢谢,合作随时欢迎哦,您那边客户端是只有 iOS 是么?
    yile
        5
    yile  
       2021-08-14 12:14:31 +08:00 via iPhone
    @JamesChen 你这是个人兴趣吗,还是?
    JamesChen
        6
    JamesChen  
       2021-08-14 12:16:38 +08:00
    @maximtop 客户端只做 IM 逻辑,不做 UI 部分。客户端实现支持三门语言 JS 、Kotlin 、iOS 。JS 支持 Web/桌面端,Kotlin 手机端 /桌面端,iOS 就手机端。
    另外,我刚看了 maxims-bistro 的 README,给了 Web 的试用地址( https://chat.maximtop.com ),但没看到试用账号,可以考虑加加。

    @yile 不是商业项目,不跟你们项目冲突,哈哈哈
    maximtop
        7
    maximtop  
    OP
       2021-08-14 12:17:50 +08:00   1
    @JamesChen Web 那个可以自己注册的哈,随意用。
    yile
        8
    yile  
       2021-08-14 12:26:48 +08:00 via iPhone   1
    @JamesChen 哈哈哈,商业没事,市场那么大。当然开源就更不冲突了,加油
    WebKit
        9
    WebKit  
       2021-08-14 13:11:54 +08:00 via Android   1
    @JamesChen 这个是个人兴趣吗?最近也在找 im 方案。主要关心稳定性,还有会不会持续更新
    sunbreak
        10
    sunbreak  
       2021-08-14 15:28:36 +08:00
    请问下 RTM 和 IM 服务是什么关系呢,想学习下

    包装过 agora.io 的 Flutter PC 端: https://github.com/woodemi/Flutter-RTM-Desktop
    如果可以想出个 maxim.top 的 Flutter 多端库
    maximtop
        11
    maximtop  
    OP
       2021-08-15 23:51:48 +08:00
    @sunbreak 啊哈,是微博的朋友吗?

    RTM 一般是通过 RTC Server 的信令服务器来实现的消息通讯,虽然 IM 也是近实时消息通讯,但我们讲 IM 的时候除了消息一般还包括身份、花名册、群组这样的功能集合。

    欢迎出 maxim.top 的 Flutter 多端库呀,有什么需要的我们全力支持
    maximtop
        12
    maximtop  
    OP
       2021-08-15 23:52:06 +08:0
    @WebKit 欢迎选用美信拓扑哦
    hanguofu
        13
    hanguofu  
       2021-08-17 04:47:22 +08:00 via Android
    请问这个 IM 支持语音消息吗?
    maximtop
        14
    maximtop  
    OP
       2021-08-17 17:00:15 +08:00
    @hanguofu 你好,支持语音对讲。
    sunbreak
        15
    sunbreak  
       2021-08-18 07:37:45 +08:00
    maximtop
        16
    maximtop  
    OP
       2021-08-19 13:43:15 +08:00
    @sunbreak 赞哦,已 Merge 。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2820 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 13:27 PVG 21:27 LAX 06:27 JFK 09:27
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86