Google vs XMPP
Jabber | 16.02.2008 10:45Заглянул случайно в мини-новости OpenNet, а там такое…
При изучении документации по Android SDK стало известно, что GTalk API не полностью совместим с XMPP, более того со временем Gtalk перейдет от XML к бинарному кодированию обмена между клиентом и сервером
Опаньки. Некоторые странности в GTalk были заметны и раньше (вообще если бы не хранение истории и интеграция с GMail, то это был бы самый худший джаббер-сервис), а тут вдруг оказывается, что это вовсе и не джаббер!
GTalk API is not XMPP compliant, and will be less so going forward. The reason is that XMPP is too verbose and inefficient for mobile network connection, and the GTalk API will be moving to a binary encoding for the protocol between the client and the server. There will also be mobile specific protocols added
С тем, что XMPP — очень неэффективный, я столкнулся давно. Тогда один мой знакомый с недешёвым GPRS-ом пытался использовать джаббер на мобильном телефоне, и с удивлением наблюдал, как его трафик вылетал в трубу (и не надо тут передёргивать по поводу 3G. 3G только внедряется, а все вокруг ходят с GSM-телефонами, и второй телефон собираются покупать очень немногие). Потом я однажды нескольким людям, с которыми я постоянно сижу в IRC (на частном сервере) предложил перейти на Jabber-конференции (в то время админ того сервера как раз решил, что его не устраивает ни один открытый IRC-сервер, и начал писать свой на Lua). Мне тут же сказали, что а) для джаббер-конференций нет удобный клиентов и б) джаббер кушает слишком много трафика по сравнению с IRC. И это были люди из весьма благополучных в плане скоростного интернета Штатов!
Так что определённый смысл в переходе на бинарный протокол есть. Вообще на OpenNet’е есть очень хороший комментарий по этому поводу, но модераторы (или кто там прячет комментарии под “текст скрыт”) его почему-то заминусовали:
Вообще не понимаю нахрен в XMPP сдался XML.Парсить его сравнительно сложно, требубтся спецбиблиотеки как минимум.И есть масса технических идиотизмов в итоге, например, когда вы получаете XMLку - заранее вообще неизвестно - а какого размера кусок XML-я вам шлют и вообще, хотите ли вы этого.Пришлют на гиг?Значит на гиг.Заранее это определить и полностью пропарсить - опачки.Изначально у жаббера была идея что сложный сервер - простой клиент.На практике - сложнее жаббер\XMPP клиента мало IM программ.Потому что базовый XMPP убог а XEPы мало того что опциональны так еще и разлапистые.Для работы с XMPP требуется туева хуча жирных библ, немало памяти и прочая.Клиент получается навернутый и глючный.Совестимость хромая.Даже просто узнать факт что сообщение успешно доставлено адресату - опционально, половина клиентов не умеет подтверждать это.Я понимаю что “свое г… не пахнет” но XMPP в виде как есть - не впечатляет.Возвращаясь к XML.Я не видел ни 1 психа кроме разработчиков протокола способных адекватно читать и понимать XML в компактном виде (когда все теги шлются без форматирования).То же касается и ручной посылки пакетов.В общем якобы простота отладки протокола - оказалось мифом.Jabber самый глючный протокол из существующих.А если сравнить скажем протокол ICQ в миранде и XMPP в pidgin то придет понимание что дело не в протоколе а в разработчиках.У некоторых и бинарные протоколы нормально реализованы, а у некоторых и XMLные через анус
В общем, с одной стороны, если протокол GTalk’а останется открытым, то всё ещё в общем не плохо. Но с другой стороны, терять совместимость GTalk с джаббером очень бы не хотелось. Я вот привык ICQ использовать через транспорт, потому как нормальной интеграции GTalk с ICQ мы ещё не дождались.
Будет ли возможность оставить GTalk’овском ростере контакты из других джаббер-сетей? Я думаю, раз уж их ранее разрешили добавлять, то никуда эти контакты не денутся.
6 комментариев »
RSS feed for comments on this post. TrackBack URL
Оставить комментарий:


Voker57 | 16.02.2008 10:53
Читать xmpp-stream не пробовал, но считаю, что xml все таки рулит.
А для уменьшения трафика надо SASL юзать, с включенным уходит меньше, чем на ирц.
Voker57 | 16.02.2008 10:55
Ах да, совсем забыл. Gtalk как сервер джаббера сосет - нет транспортов, нет вкардов, сертификат SSL какой то редкостный…
LXj | 16.02.2008 12:01
Кто иль что есть SASL, советник?
Про GTalk я выше написал. За интеграцию с GMail и поиск по логам приходится прощать ему всё.
Voker57 | 16.02.2008 15:31
компрессия трафика через zlib - http://www.xmpp.org/extensions/xep-0138.html (по крайней мере мой телефон называет это sasl)
LXj | 16.02.2008 17:49
Ну фиг его знает, может, гугловцы решили, что нагружать мобильники архивированием — это нехорошо. Да ещё и парсинг XML
Пинг от LXj’s blog » О бинарных форматах | 20.02.2008 23:55
[...] я? До всё к тому же, последний абзац нас возвращает к предыдущей заметке о намерениях Google перевести GTalk на бинарный протокол. [...]