Dobre samouczki na temat XMPP? [Zamknięte]

110

Patrzyłem na kilka serwerów XMPP typu open source i znam oficjalną stronę http://xmpp.org/ . Ale do tej pory nie znalazłem niczego pomiędzy " The Extensible Messaging and Presence Protocol (XMPP) jest otwartą technologią komunikacji w czasie rzeczywistym " a listą specyfikacji XEP. Na przykład artykuły wyjaśniające podstawy i terminologię - zwrotki, iloraz inteligencji, obecność itp. Nawet strona Wikipedii to pomija, co nie jest zaskakujące, że projekty open source zakładają, że znasz te rzeczy, zanim zaczniesz kopać w kodzie.

Czy istnieje dobry, (pół) oficjalny zestaw samouczków na ten temat? Czy muszę szukać zasobów Jabber zamiast XMPP?

Między innymi mam nadzieję zobaczyć diagramy przypadków użycia i przepływu, a nie tylko suchy tekst protokołu. Wiem, że istnieją książki o XMPP, ale ogólnie wszystko w książce jest dostępne również w jakiejś formie online.

Mr. Boy
źródło

Odpowiedzi:

36

Oto, co sprawiło, że zacząłem rozwijać XMPP:

  • Dobra książka: XMPP The Definivie Guide
  • Dojrzałe API Java. Wybrałem Smack Library z Ignite Realtime i użyłem świetnego języka z dużą ilością małych skryptów, aby nauczyć się podstaw.

Później opracowałem wtyczkę do serwera OpenFire XMPP. Na ich stronie jest również kilka samouczków i forum. Myślę, że zarówno api smack, jak i openfire są łatwe do nauczenia.

Jeśli nie interesujesz się java: książka odwołuje się do biblioteki SkeekXMPP Python i używa jej do tworzenia przykładów (echo bot, ...).

towe75
źródło
W porządku. Proponuję zajrzeć do książki. Ponieważ klasy API są w większości nazwane na podstawie pojęć / sekcji xmpp, będziesz miał dobry punkt wyjścia, gdy znasz podstawową terminologię.
towe75
1
Ponadto książka Jacka Moffita Professional XMPP Programming with JavaScript and jQuery jest doskonała, lepsza niż ta wspomniana powyżej (O'Reilly). professionalxmpp.com
Przygotuj się na mnóstwo literówek i błędów podczas czytania XMPP The Definivie Guide (głównie w przykładowym kodzie)
kas-kad
XMPP The Definitive Guide jest świetny i szczegółowy, być może trochę nieaktualny, ale sam dał dobry początek.
Jerry
17

Jak powiedzieli inni, specyfikacje są dobrym wprowadzeniem. To prawda, że ​​mają one charakter techniczny i są sformułowane, aby być precyzyjnym - ale tak naprawdę są to jedne z najlepszych specyfikacji, jakie widziałem dla każdego protokołu, zwłaszcza najnowsze RFC ( 6120 i 6121 ), które wyjaśniają niektóre szare obszary w oryginały.

Np. Wspominasz o chęci poznania definicji zwrotki, jest to wyjaśnione (z przykładami) w 6120 sekcji 8 .

Jeśli masz jakieś uwagi na temat tego, w jaki sposób specyfikacje mogą być jaśniejsze, powiedz to na liście mailingowej XMPP , gdzie wszystkie opinie są brane pod uwagę przy kolejnych wersjach roboczych specyfikacji.

Jeśli specyfikacje są dla ciebie naprawdę za duże (doceniam, że niektórzy ludzie lubią więcej zdjęć niż ja), zastanów się nad książką (czy to w wersji papierowej, czy cyfrowej) - została zaprojektowana jako łatwe wprowadzenie zarówno do podstawowych specyfikacji, jak i najbardziej popularne rozszerzenia i napisane przez ludzi, którzy pomagają je rozwijać i wdrażać.

MattJ
źródło
1
Na szczęście sam RFC 6120 ma ponad 200 stron. A ja myślałem, że oni powinni zachować prosty ..........
Pacerier
1
Prostota nie oznacza automatycznie krótkiej specyfikacji. Osobiście uważam, że XMPP jest całkiem prosty. Szczególnie modularność XMPP, tj. Podział na XMPP Core, XMPP IM i XEP sprawia, że ​​protokół jest dla mnie atrakcyjny.
Flow
1
Jak zauważyli inni, RFC są najlepszymi przyjaciółmi podczas poznawania XMPP. Sam nauczyłem się XMPP kilka lat temu i skompilowałem fragmenty informacji w samouczki dla początkujących. Przyjazne wprowadzenie do XMPP oraz Roster and Presence powinno być dobrym początkiem.
musimbate
8

RFC (wymienione na stronie Wikipedii) powinny być całkiem dobrym wprowadzeniem do tego tematu.

Na przykład: RFC3920: Extensible Messaging and Presence Protocol (XMPP): Core

Kra
źródło
2
Wolałbym znaleźć coś innego niż surowy protokół, są one napisane tak, aby były precyzyjne, a nie przyjazne ... ale nadal wiedza, że ​​obejmuje podstawy, jest przydatna.
Mr. Boy
Więc szukasz samouczka dla programistów do XMPP, który nie zawiera szczegółowej analizy podstaw protokołu? Jakiś czas temu eksperymentowałem z "XMPP Python API" (Google AP-Engine): code.google.com/appengine/docs/python/xmpp/overview.html Być może to może być wejście do świata XMPP :)
FloE
W pewnym sensie ... ale każda technologia, z którą kiedykolwiek pracowałem, ma oficjalną specyfikację jako punkt odniesienia, ale przeczytaj samouczki mające na celu szybszą naukę podstaw. Jak DirectX, Spring, CSS czy cokolwiek tak naprawdę.
Mr. Boy
Rozumiem. Podstawowa terminologia, o którą prosiłeś, jest zdefiniowana i opisana w dokumentach RFC i na xmpp.com (i być może tylko tam ...). Aby uzyskać bardziej praktyczne wprowadzenie, dostępnych jest kilkanaście przykładów i samouczków do tworzenia własnego klienta Jabbera z różnymi interfejsami API w Javie, Perlu, Ruby, Pythonie, ... w Internecie (np. Link w poprzednim komentarzu).
FloE
@FloE, cytowany dokument RFC jest nieaktualny. Poza tym, że RFC to za mało, istnieje mnóstwo powiązanych ze sobą specyfikacji RFC do odczytania dla XMPP.
Pacerier
2

To może być stare pytanie, ale chciałem po prostu zachować proces, którego użyłem, aby nauczyć się XMPP.

Kilka lat temu wraz z kilkoma przyjaciółmi uczyliśmy się, jak wykorzystać XMPP, a zrozumienie, jak pasuje do większego kawałka, jest dość żmudnym zadaniem. Gorąco polecam zacząć od przeczytania strony Wikipedii w XMPP:

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

Będziesz zaskoczony, jak wiele osób nie jest w stanie odpowiedzieć na pytania dotyczące XMPP, które są najbardziej fundamentalne.

Gorąco polecam również przeczytanie tego artykułu:

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

Daje ci poczucie motywacji stojącej za XMPP, jego historii i protokołów, które były z nim na równi.

Stamtąd najlepiej będzie przeczytać źródła strony wikipedii, aby lepiej zrozumieć wszelkie funkcje XMPP, którymi możesz być zainteresowany.

user3761301
źródło
1

Użyj biblioteki xmpp asmack z

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

i dokumentacja

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

Mam nadzieję, że pomogło to innym, takim jak mi

Sheraz Ahmad Khilji
źródło
Po co używać Beem zamiast oryginalnej strony ASmack?
Pacerier,
1
@Pacerier Ostatnim razem, gdy sprawdzałem, że asmack nie jest stabilny i nie jest regularnie aktualizowany, zamiast tego użyłem wersji beem asmacka, która była regularnie aktualizowana i również wydawała się bardziej stabilna.
Sheraz Ahmad Khilji
1

Zainstaluj openfire po stronie serwera i używaj qsmack po stronie Androida.

Jaspreet Chhabra
źródło
3
Dlaczego my qsmack zamiast asmack?
Pacerier,