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

时间:2018-05-04 12:09:24

标签: xmpp

我想为Android用户开发一个聊天应用app应该是原生的,我想知道使用firebase或XMPP哪个更方便?

1 个答案:

答案 0 :(得分:-1)

火力地堡

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服务器很难设置和维护

复杂的开发使用Firebase开发XMPP服务器的客户端会比使用Firebase更加困难和耗时,因为协议看起来很密集且过时了

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