¿Cómo se pueden usar MQTT o XMPP para mensajes push? ¿Cuál es mejor?

Sí, seguro que pueden! Siempre que implemente correctamente el servicio en segundo plano en su aplicación, que se supone que mantiene la conexión abierta, por supuesto.

Pero primero concentrémonos en las diferencias entre XMPP y MQTT. ¿Qué son en realidad?

XMPP ( Protocolo de presencia y mensajería extensible ) nació como un protocolo para aplicaciones de mensajería. Jabber lo usa, Google Talk (hoy Hangouts) lo usa, WhatsApp lo usa . Es un protocolo de mensajería excelente y confiable, mucho más confiable que GCM. También tiene muchas guías de implementación / tutoriales / ejemplos.

MQTT ( MQ Telemetry Transport ) , en cambio, nació como un protocolo de comunicación diseñado para dispositivos de baja potencia que tienen una capacidad de potencia limitada y baja potencia de cálculo. Es rápido y confiable, y utiliza muchos menos datos y potencia de lo que XMPP necesita para hacer exactamente el mismo trabajo. Facebook Messenger lo usa. Sin embargo, no es muy popular y puede faltar tutoriales / ejemplos para desarrolladores principiantes.

Aquí hay una pequeña tabla de comparación de la cantidad de datos que usan esos protocolos: XMPP versus MQTT: comparación de manzanas con peras

… y aquí hay una comparación del consumo de batería: Perfil de energía: HTTPS Long Polling vs. MQTT con SSL, en Android

Para concluir, cuál va a utilizar depende de usted .

Ambos son protocolos de aplicación buenos y confiables, aunque XMPP se basa en HTTP, lo que lo hace automáticamente más pesado pero no significa que sea menos adecuado para este trabajo.

El MQTT es un protocolo pubsub, mientras que XMPP es el protocolo IM (mensajería instantánea). Las notificaciones push son notificaciones instantáneas, por lo tanto, se debe utilizar XMPP.

More Interesting

¿Sería mejor para tu carrera aprender y dominar Python o Node.js?

¿Hay alguna plataforma o sitio web donde pueda encontrar y explorar todas las bibliotecas de JavaScript y jQuery?

¿Cómo se mantiene estructurada una aplicación php? Estoy haciendo el primero para un cliente y algunos de mis problemas están tratando de incluir archivos sin importar dónde estoy en las ideas del directorio.

¿Qué sistema de administración y autenticación de usuarios debo usar para construir mi sitio web?

¿Cuáles son algunas recomendaciones para una agencia de desarrollo web buena, de buena reputación y asequible, tal vez de Filipinas? (Escuché que son bastante buenos para trabajar y relativamente bien de precio)

Cómo manejar ventanas emergentes en JavaScript

¿Cuáles son los buenos navegadores web?

¿Cuál es la mejor aplicación de productividad para desarrolladores?

¿Es posible ser un desarrollador web y no conocer el código, usando herramientas que lo hacen por usted, alguien puede hacerlo en esa industria?

¿Cómo puede Dropbox almacenar claves de descifrado en el lado del cliente y no en el servidor?

Cómo dominar PHP

¿Qué necesito para aprender todo sobre JavaScript por mi cuenta?

Cómo hacer posible registrarse en mi sitio usando HTML

¿Dónde puedo obtener complementos de jQuery para presentar un producto en un sitio web de eCommerace que sean idénticos en todos los sentidos a los utilizados por Amazon?

¿Cuál es el futuro de los backends, PHP o Node.js?