我想为Android用户开发一个聊天应用app应该是原生的,我想知道使用firebase或XMPP哪个更方便?
答案 0 :(得分:-1)
Firebase是一个使用Websockets和MongoDB的实时数据库。您可以完全控制数据库模式,并且在客户端定义用于与服务器交互的所有代码。以下是一些优点和缺点:
性能Websockets和MongoDB允许高性能和大量并发连接
灵活性您可以创建所需的数据结构。如果您想发送新的消息类型,如调查消息,您可以。您还可以支持WebRTC并使用Firebase进行信令。
持久性您可以自动备份服务器上的消息,这样如果用户丢失了设备,他们就可以与服务器同步并收回消息。
框架现有的框架已经在Firebase上提供了消息传递。 Chat SDK有一个iOS和Android框架,可以在Github上免费获得。
胖客户端所有消息传递逻辑都在客户端代码中定义,这意味着要添加新平台,您必须重新编写所有代码。
不专业Firebase没有定义任何协议,因此您必须自己创建。您必须决定要在消息中包含哪些信息,以及如何构建数据库
XMPP是专为消息传递而设计的服务器。就存在而言,它是行业标准消息传递协议。它被大公司用于为数百万用户提供消息传递。它用于Skype,Facebook Messenger,WhatsApp和Google Hangouts。
性能XMPP服务器可以集群扩展到数千万用户
开源有许多优秀的开源XMPP服务器 - ejabberd,OpenFire,Prosody
定义的协议XMPP是一个定义良好的协议。这意味着理论上,任何XMPP应用程序都可以与任何XMPP服务器一起使用
瘦客户端XMPP服务器提供所有业务逻辑,客户端只发送和解释XML消息流。这使得在多个平台上部署变得更加容易。
很难设置XMPP服务器很难设置和维护
复杂的开发使用Firebase开发XMPP服务器的客户端会比使用Firebase更加困难和耗时,因为协议看起来很密集且过时了
错误遗憾的是协议并不总是正确遵循,这可能导致错误