Book Image

Practical XMPP

By : Steven Watkin, David Koelle
Book Image

Practical XMPP

By: Steven Watkin, David Koelle

Overview of this book

XMPP (eXtensible Messaging and Presence Protocol) is a messaging protocol that enables communication between two or more devices via the Internet. With this book, developers will learn about the fundamentals of XMPP, be able to work with the core functionality both server-side and in the browser, as well as starting to explore several of the protocol extensions. You will not only have a solid grasp of XMPP and how it works, but will also be able to use the protocol to build real-world applications that utilize the power of XMPP. By the end of this book, you will know more about networking applications in general, and have a good understanding of how to extend XMPP, as well as using it in sample applications.
Table of Contents (16 chapters)
Practical XMPP
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Free Chapter
1
An Introduction to XMPP and Installing Our First Server

Introducing XMPP-FTW


Around the autumn of 2012, as the real-time web was really starting to become an important area, members of the XMPP developer community recognized that developer teams were generating a lot of their own proprietary message setups but, more importantly, were making the same mistakes that had already been solved in XMPP over a decade earlier. The problem is that web developers simply saw XMPP and immediately sought simpler solutions.

Most of the issues arose from having to work with XML. It is not a format that is familiar to most web-developers; developers simply had bad experiences with it (remember SOAP?) or WebSockets were not available and BOSH just seemed slow and cumbersome.

The solution was to deliver an alternative interface to XMPP. Naturally, for the Web, this was JSON over a WebSocket. On the surface, this appears to be an easy goal since many people think, incorrectly, that you can cleanly translate back and forth between XML and JSON. Sadly, all existing attempts...