¿Buenos tutoriales sobre XMPP? [cerrado]


110

He estado mirando algunos servidores XMPP de código abierto y estoy familiarizado con la página oficial http://xmpp.org/ . Pero hasta ahora no he encontrado nada entre " El Protocolo Extensible de Mensajería y Presencia (XMPP) es una tecnología abierta para la comunicación en tiempo real " y una lista de especificaciones XEP. Por ejemplo, artículos que explican los conceptos básicos y la terminología: estrofas, coeficiente intelectual, presencia, etc. Incluso la página de Wikipedia pierde esto, como era de esperar, los proyectos de código abierto suponen que usted sabe estas cosas antes de comenzar a profundizar en el código.

¿Existe un buen conjunto (semi) oficial de tutoriales sobre esto? ¿Necesito buscar recursos de Jabber en lugar de XMPP?

Entre otras cosas, espero ver diagramas para casos de uso y flujo, no solo texto de protocolo seco. Sé que existen libros sobre XMPP, pero en general cualquier contenido de un libro también está disponible de alguna forma en línea.

Respuestas:


53

Esto es probablemente demasiado básico, pero al menos es técnico: https://web.archive.org/web/20170916193014/http://www.adarshr.com/fun-with-xmpp-and-google-talk y el segunda parte, https://web.archive.org/web/20171005104211/http://www.adarshr.com:80/fun-with-xmpp-and-google-talk-part-2

Explica qué son las estrofas, qué tipos están disponibles y esas cosas.


Simplificamos el proceso de creación de aplicaciones de chat en iOS usando vainas de cacao, puede obtener más información o descargar el código de demostración aquí github.com/processone/demo-xmpp-ios
Loegic

Mi espejo todavía está activo, no estoy seguro de por qué se eliminó de mi respuesta ... f.gdr.name/xmpp-tutorial.tar.gz
GDR

36

Esto es lo que me ayudó a comenzar con el desarrollo XMPP:

  • Un buen libro: XMPP The Definivie Guide
  • Una API Java madura. Elegí la biblioteca de Smack de Ignite Realtime y usé el lenguaje maravilloso con un montón de pequeños guiones para aprender los conceptos básicos.

Más tarde desarrollé un complemento para OpenFire XMPP Server. También hay algunos tutoriales y un foro en su sitio. Creo que tanto la API de smack como la de openfire son fáciles de aprender.

Si no le gusta java: el libro se refiere a la biblioteca SkeekXMPP Python y la usa para crear algunos ejemplos (echo bot, ...).


Multa. Te sugiero que eches un vistazo al libro. Dado que las clases de la API se denominan principalmente según los conceptos / estrofas de xmpp, tendrá un buen punto de partida una vez que conozca la terminología básica.
towe75

1
Además, el libro de programación profesional XMPP con JavaScript y jQuery de jack moffit es excelente, mejor que el mencionado anteriormente (O'Reilly). professionalxmpp.com

Esté preparado para ver toneladas de errores tipográficos y errores mientras lee XMPP The Definivie Guide (principalmente en código de muestra)
kas-kad

XMPP La Guía Definitiva es excelente y detallada, quizás un poco desactualizada, pero me dio un buen comienzo.
Jerry

17

Como han dicho otros, las especificaciones son una buena introducción. Es cierto que son de naturaleza técnica y están redactados para ser precisos, pero en realidad son algunas de las mejores especificaciones que he visto para cualquier protocolo, especialmente las últimas RFC ( 6120 y 6121 ) que aclaran algunas de las áreas grises en el originales.

Por ejemplo, mencionas querer saber la definición de una estrofa, se explica (con ejemplos) en 6120 sección 8 .

Si tiene algún comentario sobre cómo se pueden aclarar las especificaciones, dígalo en la lista de correo de XMPP , donde todos los comentarios se consideran para los siguientes borradores de las especificaciones.

Si las especificaciones son demasiado para usted (agradezco que a algunas personas les gusten más imágenes que a mí), considere el libro (ya sea en papel o en formato digital): está diseñado exactamente como una introducción fácil tanto a las especificaciones básicas como a la mayoría extensiones comunes y escritas por personas que ayudan a desarrollarlas e implementarlas.


1
Dios mío, RFC 6120 solo tiene más de 200 páginas. Y pensé que se suponía que debían mantenerlo simple ..........
Pacerier

1
La simplicidad no implica automáticamente una breve especificación. Yo mismo encuentro XMPP bastante simple. Especialmente la modularidad de XMPP, es decir, la división entre XMPP Core, XMPP IM y XEP, hacen que el protocolo sea atractivo para mí.
Flujo

1
Como han señalado otros, los RFC son los mejores amigos cuando aprenden sobre XMPP. Yo mismo estaba aprendiendo XMPP hace unos años y he recopilado bits y bits de información en tutoriales dirigidos a principiantes. Una introducción amigable a XMPP y Roster and Presence debería ser un buen comienzo.
musimbate

8

Las RFC (enumeradas en la página de Wikipedia) deberían ser una buena introducción a este tema.

Por ejemplo: RFC3920 : Protocolo extensible de mensajería y presencia (XMPP): Núcleo


2
Prefiero encontrar algo más que el protocolo en bruto, esos están escritos para ser precisos en lugar de amigables ... pero aún saber que cubre los fundamentos es útil.
Mr. Boy

Entonces, ¿está buscando un tutorial para programadores de XMPP que no profundice en los conceptos básicos del protocolo? Experimenté hace algún tiempo con la "API XMPP Python" (Google AP-Engine): code.google.com/appengine/docs/python/xmpp/overview.html Quizás esto pueda ser una entrada al mundo XMPP :)
FloE

Más o menos ... pero cada tecnología con la que trabajé tiene la especificación oficial como referencia, pero lee tutoriales orientados a aprender los conceptos básicos más rápidamente. Como DirectX o Spring o CSS o cualquier cosa en realidad.
Mr. Boy

Entiendo. La terminología básica que solicitó se define y describe en las RFC y en xmpp.com (y quizás solo allí ...). Para una introducción más práctica, hay decenas de ejemplos y tutoriales para construir su propio cliente Jabber con diferentes API en Java, Perl, Ruby, Python, ... en la web (ver el enlace en el comentario anterior).
FloE

@FloE, el RFC que citó no está actualizado. Además de leer que RFC no es suficiente, hay toneladas de RFC interrelacionadas para leer para XMPP.
Pacerier

2

Esta puede ser una pregunta antigua, pero solo quería mantener el proceso que usé para aprender XMPP.

Hace unos años, algunos amigos míos y yo estábamos aprendiendo cómo aprovechar XMPP, y comprender cómo encaja en una pieza más grande es una tarea bastante tediosa. Recomiendo encarecidamente comenzar leyendo la página de wikipedia de XMPP:

http://en.wikipedia.org/wiki/XMPP

Se sorprenderá de la cantidad de personas que no pueden responder preguntas sobre XMPP, que son las más fundamentales.

También recomiendo encarecidamente leer este artículo:

http://www.infoworld.com/article/2682116/application-development/xmpp-rises-to-face-simple-standard.html

Le dará una idea de la motivación detrás de XMPP, su historia y sus protocolos que solían estar a la par con él.

A partir de ahí, será mejor leer las fuentes de la página de wikipedia para tener una comprensión más profunda de cualquier característica que le pueda interesar con XMPP.


1

Utilice la biblioteca asmack xmpp de

http://beem-project.com/projects/beem/files descargar asmack-android-7-beem-jingle.jar

y documentación de

http://www.igniterealtime.org/downloads/index.jsp

Espero que ayude a otros como me ayudó a mí


¿Por qué utilizar Beem en lugar de la página original de ASmack?
Pacerier

1
@Pacerier La última vez que verifiqué que asmack no era estable y no se estaba actualizando regularmente, en su lugar utilicé la versión beem de asmack que se actualizaba regularmente y también parecía más estable.
Sheraz Ahmad Khilji

1

Instale Openfire en el lado del servidor y use qsmack en el lado de Android.


3
¿Por qué nosotros qsmack en lugar de asmack?
Pacerier
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.