Buoni tutorial su XMPP? [chiuso]


110

Ho esaminato alcuni server XMPP open source e ho familiarità con la pagina ufficiale http://xmpp.org/ . Ma finora non ho trovato nulla tra " Il protocollo XMPP (Extensible Messaging and Presence Protocol) è una tecnologia aperta per la comunicazione in tempo reale " e un elenco di specifiche XEP. Ad esempio articoli che spiegano le basi e la terminologia: stanze, QI, presenza, ecc. Anche la pagina di Wikipedia manca di questo, non sorprende che i progetti open source presumano che tu sappia queste cose prima di iniziare a scavare nel codice.

Esiste una buona serie (semi) ufficiale di tutorial su questo? Devo cercare risorse Jabber piuttosto che XMPP?

Tra le altre cose, spero di vedere diagrammi per casi d'uso e flusso, non solo testo di protocollo a secco. So che esistono libri su XMPP, ma generalmente qualsiasi cosa in un libro è disponibile in qualche forma anche online.

Risposte:


53

Questo è probabilmente troppo semplice, ma almeno è tecnico: https://web.archive.org/web/20170916193014/http://www.adarshr.com/fun-with-xmpp-and-google-talk e il seconda parte, https://web.archive.org/web/20171005104211/http://www.adarshr.com:80/fun-with-xmpp-and-google-talk-part-2

Spiega cosa sono le stanze, quali tipi sono disponibili e cose del genere.


Abbiamo semplificato il processo di creazione delle app di chat su iOS utilizzando i pod di cacao, puoi saperne di più o scaricare il codice demo qui github.com/processone/demo-xmpp-ios
Loegic

Il mio mirror è ancora attivo
GDR

36

Ecco cosa mi ha fatto iniziare con lo sviluppo XMPP:

  • Un buon libro: XMPP The Definivie Guide
  • Un'API Java matura. Ho scelto Smack Library da Ignite Realtime e ho usato il linguaggio groovy con un sacco di piccoli script per imparare le basi.

Successivamente ho sviluppato un plugin per OpenFire XMPP Server. Ci sono anche alcuni tutorial e un forum sul loro sito. Penso che sia lo smack che l'API a fuoco aperto siano facili da imparare.

Se non ti piace java: il libro fa riferimento alla libreria SkeekXMPP Python e la utilizza per creare alcuni esempi (echo bot, ...).


Belle. Ti consiglio di dare un'occhiata al libro. Poiché le classi API prendono il nome principalmente dai concetti / stanze xmpp, avrai un buon punto di partenza una volta che avrai conosciuto la terminologia di base.
towe75

1
inoltre, il libro Professional XMPP Programming with JavaScript and jQuery di jack moffit è eccellente, migliore di quello menzionato sopra (O'Reilly). professionalxmpp.com

Preparati a vedere tonnellate di errori di battitura ed errori durante la lettura di XMPP The Definivie Guide (principalmente nel codice di esempio)
kas-kad

XMPP The Definitive Guide è ottimo e dettagliato, forse un po 'antiquato, ma io stesso ha dato un buon inizio.
Jerry

17

Come altri hanno già detto, le specifiche sono una buona introduzione. È vero che sono di natura tecnica e formulati per essere precisi, ma sono davvero alcune delle migliori specifiche che ho visto per qualsiasi protocollo, in particolare le ultime RFC ( 6120 e 6121 ) che chiariscono alcune delle aree grigie nel gli originali.

Ad esempio, dici di voler conoscere la definizione di una strofa, è spiegata (con esempi) nella 6120 sezione 8 .

Se hai commenti su come rendere più chiare le specifiche, dillo nella mailing list XMPP , dove tutti i feedback vengono presi in considerazione per le prossime bozze delle specifiche.

Se le specifiche sono davvero troppo per te (apprezzo che ad alcune persone piacciano più immagini di me), considera il libro (sia in formato cartaceo che digitale): è progettato esattamente come una facile introduzione sia alle specifiche di base che alle estensioni comuni e scritte da persone che aiutano a svilupparle e implementarle.


1
Bontà, la sola RFC 6120 è lunga più di 200 pagine. E ho pensato che avrebbero dovuto mantenerlo semplice ..........
Pacerier

1
La semplicità non implica automaticamente una breve specificazione. Personalmente trovo XMPP piuttosto semplice. Soprattutto la modularità di XMPP, ovvero la divisione tra XMPP Core, XMPP IM e XEP, rende il protocollo attraente per me.
Flusso

1
Come altri hanno sottolineato, le RFC sono i migliori amici quando si impara a conoscere XMPP. Qualche anno fa stavo imparando XMPP da solo e ho compilato bit e bit di informazioni in tutorial mirati per principianti. Un'introduzione amichevole a XMPP e Roster and Presence dovrebbe essere un buon inizio.
musimbate

8

Le RFC (elencate nella pagina di Wikipedia) dovrebbero essere una buona introduzione a questo argomento.

Ad esempio: RFC3920: Extensible Messaging and Presence Protocol (XMPP): Core


2
Preferisco trovare qualcosa di diverso dal protocollo grezzo, quelli sono scritti per essere precisi piuttosto che amichevoli ... ma comunque sapere che copre i fondamenti è utile.
Mr. Boy

Quindi stai cercando un tutorial per programmatori su XMPP che non approfondisca le basi del protocollo? Ho sperimentato qualche tempo fa con la "XMPP Python API" (Google AP-Engine): code.google.com/appengine/docs/python/xmpp/overview.html Forse questo può essere un ingresso nel mondo XMPP :)
FloE

Più o meno ... ma ogni tecnologia con cui ho lavorato ha le specifiche ufficiali come riferimento, ma leggi i tutorial orientati ad apprendere le basi più rapidamente. Come DirectX o Spring o CSS o qualsiasi altra cosa.
Mr. Boy

Capisco. La terminologia di base che hai richiesto è definita e descritta nelle RFC e su xmpp.com (e forse solo lì ...). Per un'introduzione più pratica, ci sono dozzine di esempi e tutorial per costruire il tuo client Jabber con diverse API in Java, Perl, Ruby, Python, ... sul web (ad esempio il link nel commento precedente).
FloE

@ FloE, l'RFC che hai citato non è aggiornato. Oltre a leggere che RFC non è sufficiente, ci sono tonnellate di RFC correlate da leggere per XMPP.
Pacerier

2

Questa potrebbe essere una vecchia domanda, ma volevo solo mantenere il processo che ho usato per imparare XMPP.

Alcuni anni fa, alcuni miei amici e io stavamo imparando a sfruttare XMPP e capire come si inserisce in un pezzo più grande è un compito piuttosto noioso. Consiglio vivamente di iniziare leggendo la pagina wikipedia di XMPP:

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

Sarai sorpreso di quante persone non sono in grado di rispondere alle domande su XMPP che sono le più fondamentali.

Consiglio vivamente anche di leggere questo articolo:

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

Ti darà un'idea della motivazione dietro XMPP, della sua storia e dei suoi protocolli che erano alla pari con esso.

Da lì, sarà meglio leggere le fonti della pagina di wikipedia per dare una comprensione più approfondita di tutte le funzionalità che potrebbero interessarti con XMPP.


1

Usa la libreria xmpp asmack da

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

e documentazione di

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

Spero che aiuti altri come ha aiutato me


Perché usare Beem al posto della pagina ASmack originale?
Pacerier

1
@Pacerier L'ultima volta che ho verificato che asmack non era stabile e non veniva aggiornato regolarmente, quindi ho usato la versione beem di asmack che veniva aggiornata regolarmente e sembrava anche più stabile.
Sheraz Ahmad Khilji

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.