我开发了一个群聊成员无上限的聊天软件,取名:无限群,今天发布 0.1 版本,进行内测

239 天前
 ospulse

经过紧张而又刺激的开发,肝代码,终于,赶在苹果新品发布会的时候,发布 0.1 版本。

这个项目的 macOS 客户端,和后端,都是我一个人手写实现的。

项目架构图如下:

技术栈的选择,刚开始是这样:

  1. 客户端:Swift
  2. Gateway 服务器:Go
  3. API 接口: Ruby
  4. 消息队列: Erlang
  5. 消息队列 worker: Python
  6. 投递服务器: Go

但是,经过考虑,要是用很多语言的话,维护成本比较高,结果,最终都采用 Go 作为统一的后端语言。

也就是:

Gateway, API 接口,消息队列,Worker ,投递服务器,都是用 Go 来实现了。


由于用了 SwiftUI ,软件最低版本,要求 macOS 13 以上。

对这个软件感兴趣的,打算参与测试的,请联系我。

我的微信:mi-ngzhi

2762 次点击
所在节点    分享创造
28 条回复
loveqianool
239 天前
手写可还行
whitecosm0s
239 天前
想问一下内容审核怎么解决,和 Telegram 的区别是什么呢?
AppJun
239 天前
不是应该上 socket 啥的吗?
ospulse
239 天前
@loveqianool 还行。
ospulse
239 天前
@whitecosm0s 准备接入云服务的内容审核。
ospulse
239 天前
@AppJun 用的 WebSocket
HiramWong
239 天前
真的不会丢数据吗,后期会对容量收费吧
ospulse
239 天前
@HiramWong 数据不能丢,除非云服务挂了。不会对容量收费,但是会对有些功能收费。
musi
239 天前
一个人换这么多语言写着写着不会乱嘛
evada
239 天前
想试试,可以是 mac 12
SpikeChan
239 天前
架构图的风格很喜欢
ychost
239 天前
@ospulse #6 websocket 开销不会很大吗
fujizx
238 天前
以前组里把自己开发的 IM 用去同步游戏里的聊天到 APP ,然后那个消息队列。。。有点吓人
ospulse
238 天前
@musi 会乱啊,现在同时写 Swift + Go ,就会写乱了。
ospulse
238 天前
@evada 主要是用到了 SwiftUI 的新组件,得要求 macOS 13
ospulse
238 天前
@SpikeChan 我自己手绘的,嘿嘿
ospulse
238 天前
@ychost 就是一种长连接服务,开销大也得用啊
ospulse
238 天前
@fujizx 消息太多了吧,得多加几个 worker ,才能处理的来
ospulse
238 天前
liangnostr
237 天前
不开源吗

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

https://www.v2ex.com/t/973126

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

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

© 2021 V2EX