问HN:有没有人对一个原生的Qt/C++ Discord客户端感兴趣?
我正在用C++和Qt 6构建一个名为kind的第三方跨平台Discord客户端(kind并不是Discord)。没有使用Electron,也没有网页封装。这是一个真正的原生应用,支持Windows、macOS和Linux。
用户界面总是能够瞬间加载。在第一次加载时,内容的出现速度与Discord的网络响应相当。在后续加载中,所有内容都来自缓存,并在后台与REST进行验证。它的速度就像打开一个纯文本文件一样快。
在我开始时,这个项目的进展比我预期的要快。目前已实现的功能包括:带有指数退避和重连机制的网关、每个路由都有速率限制的REST、支持异步读写的SQLite缓存、完整的Discord权限解析,以及一个可组合的块渲染器,能够处理所有Discord消息类型,包括嵌入、附件、反应、贴纸和组件。还有一个完整的Markdown解析器、带有内存LRU和磁盘持久化的异步图像缓存、一个在重启后仍能保持的未读和静音状态系统,以及370个通过的单元和集成测试。
语音功能是一个发布后的问题,Nitro功能也是。
除了Linux高级用户之外,这个项目真的有受众吗?我知道那里的痛点最为明显,但我真心好奇Windows用户是否会仅仅因为性能而选择切换,还是官方客户端在那里的表现足够好,以至于无所谓。
查看原文
I've been building a third-party cross-platform Discord client called kind (kind is not discord) in C++ and Qt 6. No Electron, no web wrapper. A proper native app for Windows, macOS, and Linux.<p>The UI always loads instantly. On first load, things take as long to appear as Discord's network responses. On subsequent loads, everything comes from cache and is validated against REST in the background. It feels as fast as opening a plaintext file.<p>It's further along than I expected when I started. What's working right now: gateway with exponential backoff and reconnect, REST with per-route rate limiting, SQLite-backed cache with async reads/writes, full Discord permission resolution, and a composable block renderer that handles every Discord message type including embeds, attachments, reactions, stickers, and components. There's a full markdown parser, an async image cache with memory LRU and disk persistence, an unread and mute state system that survives restarts, and 370 passing unit and integration tests.<p>Voice is a post-launch problem. So are Nitro features.<p>Is there actually an audience for this outside of Linux power users? I know that's where the pain is most acute, but I'm genuinely curious whether Windows users would switch for the performance alone or whether the official client is good enough there that it doesn't matter.