构建移动消息应用程序有两种方法:聊天功能开发:
- 在内部从头开始构建专有解决方案</li>
- 与移动消息 SDK 解决方案集成。</li>
这是一篇关于粗略估计的开发成本细分的文章,开发 WhatsApp 的成本是多少?开发 3 个月的最低初始固定成本为 260,000 美元,大约 6 名工程师和一名产品经理在硅谷或纽约等地从头开始构建基本的移动聊天功能。更不用说未来运行服务器、维护、可扩展性和功能扩展的成本。花费金钱和时间构建聊天功能的机会成本是无法分配给您的核心功能的资源(除非您正在构建另一个 WhatsApp 或 Facebook Messenger)。
如果您的计划不是重新发明轮子,或者您正在节省工程资源并让专家更好地使用,或者只是通过聊天功能试水,那么集成第 3 方或开源解决方案通常更简单且更具成本效益直接地。他们通常提供现成的可定制 UI 库、跨平台 SDK、后端 API 和 Webhooks 集成等。与使用 Google Analytics、Parse/ Firebase、Crashlytics、AFNetworking、Facebook API、Socket.io、Stripe、Twilio的想法相同对于 SMS、Hyphenate.io等。许多公司最初决定构建内部聊天解决方案,但后来意识到随着客户群的快速增长,他们的解决方案无法按预期扩展。
但是,在您开始着手集成聊天功能(无论是 3rd 方集成还是内部解决方案)之前,您可能需要调查以下领域,
- 成本效益:内部解决方案的投资回报率?实现规模经济?构建工程基础设施非常昂贵,包括初始固定开发成本、运行成本、维护、功能扩展等</li>
- 可扩展性:低延迟、水平扩展、垂直扩展、无停机扩展、整体性能等</li>
- 可靠性:稳定性、可靠性、停机时间、保证消息传递、消息和包不丢失等</li>
- 移动客户端设备:设备电池寿命、蜂窝数据使用情况、零星和缓慢的互联网连接,</li>
- 所有权:专有与分层定价结构与使用私有部署和托管的许可</li>
- 安全性:加密、身份验证、隐私</li>
- 可移植性:支持跨不同平台。即,移动(Android、iOS)、桌面(macOS、Windows)和各种网络浏览器。</li>
- 功能:一对一聊天、群聊、大音量同时对话、多设备登录、文件共享、音频文件共享和播放、视频/语音通话等</li>
- 技术:有很多标准化的技术,例如XMPP、MQTT、HTTP 长轮询、Socket.io等。大多数消息传递都是基于标准协议构建专有解决方案,例如Facebook Messenger 基于 MQTT。许多第 3 方供应商已经提供了出色的 API 和 SDK 解决方案来减轻开发人员的头痛,例如 Hyphenate.io。</li>
- Human resources: Are you able to find the engineers with the expertises to fulfill all the requirements above?
Another thing to consider is the possibility of incorporating trendy chatbots, big data analysis (especially customer service), encryption, etc. Check if 3rd party SDKs, open source, or your engineering team are able to provide those flexibilities or layout the potential runway. Some mobile messaging solutions provider, like Hyphenate.io, have rich chat features set and great flexibility for expansion ready for you to dispose.
Finally, answers to your thoughts,
- Server Vs P2P... for reasons of logging my system will require all communication to go through a central server. Is this how other IM tools work... especially when audio/video comes into the equation?
Hyphenate 为您处理通信或消息传递以及建立视频/语音呼叫。
- 与其他系统的交叉通信。是否有用于此的 API,或者所有 IM 提供商是否都在努力保守他们的协议秘密?我正在设计的性质意味着集成可能只是有限的,但从业务角度来看它绝对值得
**在通信安全方面,您可能需要研究 TLS/SSL 以实现传输层安全性、OAuth 2.0 用于身份验证和端到端加密的 3 个主要组件。**