Bons tutoriais sobre XMPP? [fechadas]

110

Estive olhando alguns servidores XMPP de código aberto e estou familiarizado com a página oficial http://xmpp.org/ . Mas até agora não encontrei nada entre " O protocolo de mensagens e presença extensível (XMPP) é uma tecnologia aberta para comunicação em tempo real " e uma lista de especificações XEP. Por exemplo, artigos que explicam o básico e a terminologia - estrofes, QI, presença, etc., etc. Mesmo a página da Wikipedia não percebe isso, sem surpresa os projetos de código aberto presumem que você sabe essas coisas antes de começar a cavar no código.

Existe um bom conjunto (semi) oficial de tutoriais sobre isso? Eu preciso procurar recursos Jabber em vez de XMPP?

Entre outras coisas, espero ver diagramas para casos de uso e fluxo, não apenas texto de protocolo seco. Eu sei que existem livros sobre XMPP, mas geralmente qualquer coisa em um livro está disponível de alguma forma online também.

Senhor menino
fonte

Respostas:

53

Provavelmente é muito básico, mas pelo menos é técnico: https://web.archive.org/web/20170916193014/http://www.adarshr.com/fun-with-xmpp-and-google-talk e o segunda parte, https://web.archive.org/web/20171005104211/http://www.adarshr.com:80/fun-with-xmpp-and-google-talk-part-2

Ele explica o que são estrofes, quais tipos estão disponíveis e outras coisas.

GDR
fonte
Simplificamos o processo de criação de aplicativos de bate-papo no iOS usando cápsulas de cacau, você pode aprender mais ou baixar o código de demonstração aqui github.com/processone/demo-xmpp-ios
Loegic
Meu espelho ainda está ativo
GDR
36

Aqui está o que me ajudou a começar no desenvolvimento XMPP:

  • Um bom livro: XMPP The Definivie Guide
  • Uma API Java madura. Escolhi a Biblioteca Smack do Ignite Realtime e usei a linguagem descolada com vários pequenos scripts para aprender o básico.

Posteriormente desenvolvi um plugin para o OpenFire XMPP Server. Existem alguns tutoriais e um fórum em seu site também. Acho que tanto a API smack quanto a openfire são fáceis de aprender.

Se você não gosta de java: O livro se refere à biblioteca SkeekXMPP Python e a usa para criar alguns exemplos (echo bot, ...).

towe 75
fonte
Bem. Eu sugiro que você dê uma olhada no livro. Uma vez que as classes de API são principalmente nomeadas após os conceitos / estrofes xmpp, você terá um bom ponto de partida depois de conhecer a terminologia básica.
reboque em 75 de
1
além disso, o livro Professional XMPP Programming with JavaScript and jQuery de jack moffit é excelente, melhor do que o mencionado acima (O'Reilly). professionalxmpp.com
Esteja pronto para ver muitos erros de digitação e erros ao ler o XMPP The Definivie Guide (principalmente em código de amostra)
kas-kad
O Guia Definitivo XMPP é ótimo e detalhado, talvez um pouco desatualizado, mas também deu um bom começo.
Jerry
17

Como já foi dito, as especificações são uma boa introdução. É verdade que eles são de natureza técnica e redigidos para ser preciso - mas eles são realmente algumas das melhores especificações que já vi para qualquer protocolo, especialmente os RFCs mais recentes ( 6120 e 6121 ) que esclarecem algumas das áreas cinzentas no originais.

Por exemplo, você menciona que quer saber a definição de uma estrofe, é explicado (com exemplos) em 6120 secção 8 .

Se você tiver algum feedback sobre como as especificações podem ser mais claras, diga-o na lista de e-mails do XMPP , onde todos os comentários são considerados para os próximos rascunhos das especificações.

Se as especificações forem realmente demais para você (eu aprecio que algumas pessoas gostam mais de fotos do que eu), considere o livro (seja em papel ou formato digital) - ele foi projetado exatamente como uma introdução fácil para as especificações básicas e a maioria extensões comuns e escritas por pessoas que ajudam a desenvolvê-las e implementá-las.

MattJ
fonte
1
Meu Deus, só a RFC 6120 tem mais de 200 páginas. E eu pensei que eles deveriam mantê-lo simples ..........
Pacerier
1
Simplicidade não implica automaticamente uma especificação curta. Eu pessoalmente acho o XMPP muito simples. Especialmente a modularidade do XMPP, ou seja, a divisão entre o XMPP Core, o XMPP IM e os XEPs, torna o protocolo atraente para mim.
Fluxo
1
Como outros apontaram, os RFCs são os melhores amigos quando aprendem sobre o XMPP. Eu estava aprendendo XMPP alguns anos atrás e compilei bits e bits de informações em tutoriais direcionados para iniciantes. Uma introdução amigável ao XMPP e Roster and Presence deve ser um bom começo.
musimbate
8

Os RFCs (listados na página da Wikipedia) devem ser uma introdução muito boa para este tópico.

Por exemplo: RFC3920: Extensible Messaging and Presence Protocol (XMPP): Core

FloE
fonte
2
Eu prefiro encontrar algo diferente do protocolo bruto, aqueles são escritos para serem precisos ao invés de amigáveis ​​... mas saber que cobre os fundamentos é útil.
Sr. Boy
Então você está procurando um tutorial de programadores para XMPP que não analise os fundamentos do protocolo? Eu experimentei há algum tempo com a "API XMPP Python" (Google AP-Engine): code.google.com/appengine/docs/python/xmpp/overview.html Talvez esta seja uma entrada para o mundo XMPP :)
FloE
Mais ou menos ... mas todas as tecnologias com as quais já trabalhei têm a especificação oficial como referência, mas leia os tutoriais voltados para aprender o básico mais rapidamente. Como DirectX ou Spring ou CSS ou qualquer coisa realmente.
Mr. Boy
Compreendo. A terminologia básica que você solicitou está definida e descrita nos RFCs e em xmpp.com (e talvez apenas lá ...). Para uma introdução mais prática, há dezenas de exemplos e tutoriais para construir seu próprio cliente Jabber com diferentes APIs em Java, Perl, Ruby, Python, ... na web (por exemplo, o link no comentário anterior).
FloE de
@FloE, O RFC que você citou está desatualizado. Além de ler que RFC não é suficiente, existem toneladas de RFCs inter-relacionados para ler em XMPP.
Pacerier
2

Esta pode ser uma questão antiga, mas eu só queria manter o processo que usei para aprender XMPP.

Há alguns anos, alguns amigos meus e eu estávamos aprendendo sobre como alavancar o XMPP, e entender como ele se encaixa em peças maiores é uma tarefa tediosa. Eu recomendo fortemente começar lendo a página wikipedia do XMPP:

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

Você ficará surpreso com quantas pessoas não conseguem responder às perguntas sobre o XMPP, que são as mais fundamentais.

Também recomendo fortemente a leitura deste artigo:

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

Isso lhe dará uma ideia da motivação por trás do XMPP, sua história e seus protocolos que costumavam ser iguais a ele.

A partir daí, será melhor ler as fontes da página da wikipedia para dar uma compreensão mais detalhada de quaisquer recursos em que você possa estar interessado com o XMPP.

user3761301
fonte
1

Use a biblioteca xmpp asmack de

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

e documentação de

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

Espero que ajude outros como me ajudou

Sheraz Ahmad Khilji
fonte
Por que usar Beem em vez da página ASmack original?
Pacerier
1
@Pacerier Da última vez que verifiquei o asmack não era estável e não era atualizado regularmente, então usei a versão beem do asmack que estava sendo atualizado regularmente e também parecia mais estável.
Sheraz Ahmad Khilji
1

Instale o openfire no lado do servidor e use o qsmack no lado do Android.

Jaspreet Chhabra
fonte
3
Por que nós qsmack em vez de asmack?
Pacerier