Going real time on the Web
Real-time web applications have traditionally been quite complex to develop as they once relied on a series of hacks and workarounds. This is the reason why many developers avoid going real time as they believe it will bring in more complexity to their software backends. To fully appreciate and understand this concept, it's important to know how real-time applications are implemented and how they've evolved over time.
As you may know, web applications are built over the HTTP protocol; however, for quite some time, HTTP and real-time applications didn't really go together very well. The reason for this is that the HTTP protocol wasn't built for this purpose, but it was built with client-to-server communications in mind.
Let's clarify this a bit more. At the heart of this protocol, there is a stateless request-response cycle—the client executes a request and an HTTP server reacts upon these requests, providing a response back to the client, but it doesn't keep a persistent...