Хорошие учебники по XMPP? [закрыто]


110

Я искал некоторые серверы XMPP с открытым исходным кодом и знаком с официальной страницей http://xmpp.org/ . Но до сих пор я не нашел ничего промежуточного между « Протокол расширяемого обмена сообщениями и присутствием (XMPP) - открытая технология для связи в реальном времени » и списком спецификаций XEP. Например, статьи, объясняющие основы и терминологию - строфы, IQ, присутствие и т. Д. И т. Д. Даже на странице Википедии это отсутствует; неудивительно, что проекты с открытым исходным кодом предполагают, что вы знаете эти вещи до того, как начнете копаться в коде.

Есть ли хороший (полу) официальный набор руководств по этому поводу? Нужно ли мне искать ресурсы Jabber, а не XMPP?

Помимо прочего, я бы хотел увидеть диаграммы сценариев использования и последовательности операций, а не просто сухой текст протокола. Я знаю, что книги по XMPP существуют, но обычно все, что есть в книге, также доступно в той или иной форме в Интернете.

Ответы:


53

Возможно, это слишком просто, но, по крайней мере, технически: https://web.archive.org/web/20170916193014/http://www.adarshr.com/fun-with-xmpp-and-google-talk и вторая часть, https://web.archive.org/web/20171005104211/http://www.adarshr.com:80/fun-with-xmpp-and-google-talk-part-2

Он объясняет, что такое строфы, какие типы доступны и прочее.


Мы упростили процесс создания чат-приложений под iOS с помощью стручков какао, вы можете узнать больше или скачать демо-код здесь github.com/processone/demo-xmpp-ios
Loegic

Мое зеркало все еще работает, я не знаю, почему его удалили из моего ответа ... f.gdr.name/xmpp-tutorial.tar.gz
GDR

36

Вот что заставило меня начать разработку XMPP:

  • Хорошая книга: XMPP The Definivie Guide
  • Зрелый Java API. Я выбрал библиотеку Smack от Ignite Realtime и использовал отличный язык с кучей небольших скриптов, чтобы изучить основы.

Позже я разработал плагин для OpenFire XMPP Server. На их сайте также есть несколько учебных пособий и форум. Я думаю, что и smack, и api openfire легко изучить.

Если вы не в java: книга относится к библиотеке SkeekXMPP Python и использует ее для создания некоторых примеров (эхо-бот, ...).


Хорошо. Предлагаю вам взглянуть на книгу. Поскольку классы API в основном названы в честь концепций / строф xmpp, у вас будет хорошая отправная точка, если вы знаете базовую терминологию.
towe75

1
Кроме того, книга Джека Моффита «Профессиональное программирование XMPP с использованием JavaScript и jQuery» превосходна, лучше, чем упомянутая выше (О'Рейли). professionalxmpp.com

Будьте готовы увидеть массу опечаток и ошибок при чтении руководства по XMPP The Definivie Guide (в основном в виде примеров кода)
kas-kad

XMPP The Definitive Guide великолепен и подробен, возможно, немного устарел, но сам дал хорошее начало.
Джерри

17

Как уже говорили другие, спецификации - хорошее введение. Это правда, что они носят технический характер, и их формулировка должна быть точной, но на самом деле это одни из лучших спецификаций, которые я видел для любого протокола, особенно последние RFC ( 6120 и 6121 ), которые проясняют некоторые серые области в оригиналы.

Например, вы упомянули, что хотите узнать определение строфы, это объясняется (с примерами) в 6120, разделе 8 .

Если у вас есть какие-либо отзывы о том, как сделать спецификации более ясными, сообщите об этом в списке рассылки XMPP , где все отзывы будут учтены для следующих проектов спецификаций.

Если спецификации действительно слишком велики для вас (я ценю, что некоторым людям нравится больше изображений, чем мне), рассмотрите книгу (будь то в бумажной или цифровой форме) - она ​​разработана как простое введение как в основные спецификации, так и в большинство из них. общие расширения, написанные людьми, которые помогают их разрабатывать и внедрять.


1
Боже, один только RFC 6120 занимает более 200 страниц. И я подумал , что они должны были держать его просто ..........
Pacerier

1
Простота не означает автоматически краткую спецификацию. Я лично считаю XMPP довольно простым. Особенно привлекательным для меня является модульность XMPP, то есть разделение между XMPP Core, XMPP IM и XEP.
Flow

1
Как отмечали другие, RFC - лучшие друзья при изучении XMPP. Я сам изучал XMPP несколько лет назад и скомпилировал отрывки и кусочки информации в учебники для начинающих. Дружеское введение в XMPP и реестр и Присутствие должно быть начало хорошее.
musimbate

8

RFC (перечисленные на странице Википедии) должны стать неплохим введением в эту тему.

Например: RFC3920: Extensible Messaging and Presence Protocol (XMPP): Core


2
Я бы предпочел найти что-то другое, кроме необработанного протокола, они написаны скорее для большей точности, чем для дружеских ... но все же знание того, что он охватывает основы , полезно.
Mr. Boy

Итак, вы ищете учебное пособие по XMPP для программистов, в котором не рассматриваются основы протокола? Некоторое время назад я экспериментировал с «XMPP Python API» (Google AP-Engine): code.google.com/appengine/docs/python/xmpp/overview.html Возможно, это может быть входом в мир XMPP :)
FloE

Вроде ... но каждая технология, с которой я когда-либо работал, имеет официальную спецификацию в качестве справочника, но читайте учебные пособия, направленные на более быстрое изучение основ. Например, DirectX, Spring, CSS или что-нибудь еще.
Mr. Boy

Я понимаю. Основная терминология, которую вы запрашивали, определена и описана в RFC и на xmpp.com (и, возможно, только там ...). Для более практического введения есть дюжина примеров и руководств по созданию собственного клиента Jabber с различными API-интерфейсами на Java, Perl, Ruby, Python, ... в Интернете (например, ссылка в предыдущем комментарии).
FloE

@FloE, RFC, который вы цитировали, устарел. Помимо чтения того, что RFC недостаточно, существует множество взаимосвязанных RFC для чтения для XMPP.
Pacerier

2

Это может быть старый вопрос, но я просто хотел сохранить процесс, который использовал для изучения XMPP.

Несколько лет назад мы с несколькими друзьями изучали, как использовать XMPP, и понять, как он вписывается в более крупную часть, было довольно утомительной задачей. Я настоятельно рекомендую начать с чтения страницы википедии XMPP:

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

Вы будете удивлены, сколько людей не могут ответить на самые важные вопросы о XMPP.

Также настоятельно рекомендую прочитать эту статью:

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

Это даст вам представление о мотивации XMPP, его истории и протоколах, которые раньше были на одном уровне с ним.

Оттуда будет лучше прочитать источники на странице википедии, чтобы дать более глубокое понимание любых функций, которые могут вас заинтересовать с XMPP.


1

Используйте библиотеку xmpp asmack из

http://beem-project.com/projects/beem/files загрузить asmack-android-7-beem-jingle.jar

и документация

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

Надеюсь, это поможет другим, как помогло мне


Зачем использовать Beem вместо исходной страницы ASmack?
Pacerier

1
@Pacerier В прошлый раз я проверил, что asmack нестабилен и не обновлялся регулярно, поэтому вместо этого я использовал beem-версию asmack, которая регулярно обновлялась и также казалась более стабильной.
Шераз Ахмад Хилджи

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.