Chapter 2. Designing XMPP Applications


  • Differences between HTTP and XMPP

  • Using BOSH to bridge XMPP and HTTP

  • Application architecture and protocol design

No matter how wonderful any protocol appears, it can never be the best solution for every problem. Many problems can be solved with XMPP that would be difficult in other protocols, but even XMPP has its sweet spot, outside of which it often makes sense to use other technologies. To make the best XMPP applications possible, you must first understand what problems XMPP is good at, and how you can design your application to leverage XMPP to its fullest.

XMPP's sweet spot is real-time communication, collaboration, and data exchange. Where other protocols pull data, XMPP pushes it, allowing more efficient notification and faster responses to new information. XMPP has native support for social features found in many of today's most popular applications, making it easy for developers to add and build upon people's relationships and communication. The rich, extensible vocabulary of XML stanzas provides a robust and varied set of tools for building many common patterns or composing into your own protocols.

Although XMPP applications can be developed in many contexts, both on the backend and the front-end, this book's applications use the web browser as their environment and web technologies as their implementation. Because web browsers don't speak XMPP natively, only HTTP, you will also discover how XMPP and HTTP be made ...

Get Professional XMPP Programming with JavaScript® and jQuery now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.