Определите «достаточно компактный», вы измерили его слишком медленным для вашего приложения?Избегайте преждевременной оптимизации .
Как и в любом протоколе, существуют компромиссы в различных направлениях.XML предоставляет вам хорошо известный кроссплатформенный формат с библиотеками практически для любого языка, который способен представлять все виды структурированных данных.XMPP выбирает это и использует необязательное сжатие для установок с ограниченной пропускной способностью.Эксперименты в мире XMPP с альтернативными представлениями редко оказывались оправданными.
На ступеньку ниже XML, но все же предоставляет многие из преимуществ JSON.Хотя в нем отсутствует пространство имен, оно довольно простое, и библиотеки почти так же распространены, как и библиотеки XML.Тем не менее, JSON основан на тексте и может быть многословным для некоторых ситуаций.
Последним разумным выбором будет двоичный протокол.Это имеет преимущества в том, что вы можете адаптировать и оптимизировать его специально для вашего приложения.Недостатки в том, что вам приходится писать анализ и сериализацию самостоятельно, хотя есть инструменты для автоматизации этого, такие как проект Буферы протокола от Google.
В конечном итоге все они подходят в разных местахи выбор за разработчиком приложения, который они должны использовать для данного проекта.