在 android 中制作聊天应用程序的最佳服务器是什么?

what is the best server to make chat app in android?

我想为 android 用户开发一个聊天应用程序,应用程序将是原生的,我想知道使用 firebase 或 XMPP 哪个对我来说更容易?

Firebase

Firebase 是一个使用 Websockets 和 MongoDB 的实时数据库。您可以完全控制数据库模式,并且用于与服务器交互的所有代码都在客户端定义。以下是一些优点和缺点:

性能 Websockets 和 MongoDB 允许高性能和大量并发连接

灵活性您可以制作您需要的数据结构。如果你想发送新的消息类型,比如调查消息,你可以。您还可以支持 WebRTC 并使用 Firebase 进行信号传输。

持久性您可以在服务器上自动备份消息,这样如果用户丢失了他们的设备,他们可以与服务器同步并取回他们的消息。

框架 现有的框架已经在 Firebase 上提供消息传递。 Chat SDK 具有 iOS 和 Android 的框架,可在 Github.

上免费获得

胖客户端所有消息逻辑都在客户端代码中定义,这意味着要添加一个新平台,您必须重新编写所有代码。

非专业 Firebase 没有定义任何协议,因此您必须自己发明。您必须决定要在消息中包含哪些信息,以及如何构建数据库

XMPP

XMPP 是专门为消息传送而设计的服务器。就存在而言,它是行业标准消息传递协议。它被大公司用来为数百万用户提供消息传递。它用于 Skype、Facebook Messenger、WhatsApp 和 Google Hangouts。

性能 XMPP 服务器可以集群扩展到数千万用户

开源 有许多优秀的开源 XMPP 服务器 - ejabberd、OpenFire、Prosody

定义的协议 XMPP 是一个定义良好的协议。这意味着理论上,任何 XMPP 应用程序都可以在任何 XMPP 服务器上运行

瘦客户端 XMPP 服务器提供所有业务逻辑,客户端仅发送和解释 XML 消息流。这使得在多个平台上部署变得更加容易。

难以设置 XMPP 服务器可能很难设置和维护

复杂的开发 为 XMPP 服务器开发客户端可能比使用 Firebase 更加困难和耗时,因为该协议有时看起来既密集又陈旧

错误 不幸的是,并不总是正确遵循协议,这可能会导致错误