Итак, Джаббер. В оригинале Jabber, или он же XMPP - eXtensible Messaging and Presence Protocol -
открытый протокол для обмена сообщениями.
Что это значит и что из себя представляет - ниже:
- Открытый - это значит, что спецификация полностью открыта и находится в свободном доступе. Пользоваться ей можно в любых целях. Для примера - в Skype - закрыт железобетонно, в ICQ - открыт (с очень недавних пор), но с условием размещения рекламы. Что даёт эта открытость? Она даёт возможность разрабатывать альтернативные клиенты, зачастую лучше реализующие различные аспекты протокола, чем официальный клиент.
Да, вы можете сказать, что для ICQ тоже есть альтернативные клиенты. Однако наверное каждый асечник помнит с завидной периодичностью "изменения в протоколе", которые не позволяли соединяться с сетью! В XMPP такой проблемы не может быть впринципе. Ну а уж про Skype и говорить нечего... Альтернативных клиентов просто нет.Из этого вытекает и минус - у XMPP нет "единого" официального клиента. Есть набор разных клиентов, которые реализуют функционал, одни чуть хуже, другие чуть хуже... Однако серьёзных проблем нет.
- eXtensible - расширяемый. Протокол построен на двух "китах": базовый протокол и расширения (XEP-ы). Если базовый протокол является почти неизменным, то новые расширения разрабатываются постоянно. С помощью этих расширений реально приспособить протокол почти под любые нужды, требующие общения людей (и не только)! Об этом подробнее ниже. Кроме того (интересно для разработчиков), воплощать этот протокол в жизнь достаточно просто - каждый XMPP пакет является полноценной XML - а значит вполне читаемым даже для обычного человека!
- Читаемость идентификаторов - идентификаторы в XMPP - JID-ы (Jabber IDentificator) - не являются непонятным набором цифр, как в ICQ. Он является вполне читаемым для обычного человека, и очень похож на электронную почту! Например, мой JID:
evengard@jabber.ru. Просто, не правда ли?
- Децентрализованность - не так уж давно из за программной ошибки невозможно было подключиться к сети Skype. Из-за подобных ошибок ICQ так же бывает недоступным. А всё потому, что для того, чтобы эти сети работали, необходим некий единый центр - где хранятся ваши логины, пароли и прочие данные. XMPP этого недостатка лишён - он работает по принципу email - а именно - существует множество разных "провайдеров", которые предоставляют возможность регистрации в сети, хранения вашего списка контактов и т.п. Собственно, часть JID-а после "собаки" как раз и означает оного провайдера.
Что интересно, эти сети не являются изолированными - то есть если у вас JID
vasya.pupkin@miranda.im, то вы вполне можете написать мне на мой evengard@jabber.ru!
Вспоминая так же об открытости, нужно упомянуть, что абсолютно любой желающий может побыть "сам себе провайдером"! Можно как самому поднять сервер, так и обратиться за помощью к таким компаниям, как yandex.ru или google.ru, которые предоставляют эту услугу бесплатно! А это значит, что мне фактически ничего не мешает создать XMPP-сервер noxworld.ru!
Возвращаясь к теме проблемы с доступом к сети: если вдруг будут проблемы у какого-то одного из "провайдеров" - люди из других "провайдеров" всё так же смогут продолжать подключаться и общаться между собой!
- Наличие многопользовательских чатов - сейчас это уже не новинка, однако до сих пор у ICQ имеются определённые проблемы с данным видом связи. Что интересно, любая многопользовательская конференция так же имеет свой собственный JID: например,
godville@conference.jabber.ru - а значит её можно легко передать другому человеку! Кроме того, там гораздо более гибкое управление правами доступа участников к комнате.
В сравнении со Skype: это может показаться как плюсом, так и минусом - нет возможности добавить человека напрямую в чат (точнее, соответствующие XEP-ы в разработке, однако слабо распространены). С одной стороны это несколько неудобно, с другой так гораздо лучше соблюдается приватность человека.
- Транспорты - транспорты - это особый механизм, который позволяет находиться человеку посредством Jabber-а в других сетях мгновенных сообщений - например, в ICQ! Эта система является своего рода "промежуточным звеном" между XMPP и другой сетью обмена мгновенных сообщений, позволяя из Jabber-а общаться с людьми, находящимися, например, в ICQ! Данная система, к сожалению, не идеальна - достаточно сложно "подогнать" два разных протокола друг под друга - однако вполне работает! (К сожалению, транспорта в Skype нет - по той же причине, по которой нет для него же альтернативного клиента)
- Аудио- и видеосвязь - некоторые из вас наверное слышали про Google Talk - который позволяет совершать звонки (в том числе видео-) через интернет. Так вот, Google Talk работает на протоколе XMPP! К сожалению, данная функция реализована далеко не во всех клиентах и не на всех серверах-провайдерах, однако сама возможность этого имеется!
- Огромная распространённость - вы думаете, у вас УЖЕ нет JID-а? Скорее всего, вы ошибаетесь! Вы пользовались хоть раз QIP Infium? QIP Infium при первом запуске требует зарегистрировать аккаунт на QIP.ru - он является Jabber-аккаунтом! У вас есть почта на Yandex.ru? Значит - у вас есть JID, такой же, как и ваша почта (см сервис "Я.Онл@йн")! У вас есть GMail аккаунт? У вас есть JID, такой же, как и почта, кроме того, вы получаете все прелести Google Talk! У вас есть блог на LiveJournal.com? И там тоже выдается абсолютно бесплатно JID вида ваш_ник@livejournal.com!
Ну а для тех, кому не повезло, и он не зарегистрирован ни на одном из этих сервисов, есть куча бесплатных: jabber.org, jabber.ru - лишь пара из них!
Клиенты для доступа к Jabber-у:
- Miranda IM (Воистину, лучший IM клиент под Windows)
- Psi (Пожалуй самый простой, но при этом функциональный Jabber-клиент)
- qutIM
- QIP Infium
- Pidgin (Преимущественно для Linux, однако есть точно такая же версия для Windows)
- Kopete (Преимущественно для Linux, однако есть точно такая же версия для Windows)
- Adium (Для MacOS)
- Jimm.Aspro Jabber/Multi version (Для мобильных телефонов с Java ME)
- Bombus (Для мобильных телефонов с Java ME)
- Talkonaut (Для мобильных телефонов с Java ME/Symbian OS v9+)
- Mail.Ru Agent (Для мобильных телефонов с OS Symbian v9+)
- meebo.com (Интернет-сайт в случае отсутствия клиента)
- imo.im (Интернет-сайт в случае отсутствия клиента)