¿Qué es una aplicación web en tiempo real?

Una aplicación web en tiempo real es aquella en la que la información se transmite (casi) instantáneamente entre los usuarios y el servidor (y, por extensión, entre los usuarios y otros usuarios). Esto contrasta con las aplicaciones web tradicionales en las que el cliente debe solicitar información del servidor.

En una aplicación web tradicional, los clientes no tienen idea de cuándo puede haber cambiado el estado del servidor, por lo que sondea los cambios de vez en cuando o simplemente espera a que el usuario inicie el cambio.

Pero con una aplicación en tiempo real, el cliente abre una conexión directamente al servidor para que cualquiera de las partes pueda enviar un mensaje a la otra sin esperar a que se lo soliciten. Si algo en el servidor cambia, envía los datos a través de la conexión al cliente. Si algo en el cliente cambia, lo envía al servidor y el servidor puede decidir si otros clientes necesitan saber sobre el cambio.

Las aplicaciones web en tiempo real, como su nombre lo indica, son aplicaciones web que pueden interactuar con cada usuario casi en tiempo real.

Por lo general, estas aplicaciones usan un tipo relativamente nuevo de protocolo de transferencia, un socket web como el que posee http, que es solo una forma de comunicación que solo ocurre cuando los usuarios lo solicitan. Web-socket permite una comunicación constante entre el servidor y el usuario y, por extensión, a todos los usuarios de la aplicación, siempre que se abra la conexión.

Entonces, lo que caracteriza a una aplicación web en tiempo real es su capacidad de tener un flujo de comunicación constante con todos sus usuarios para que el usuario pueda mantenerse actualizado con cualquier cambio en el servidor (a menudo causado por otros usuarios) en tiempo real.

Un buen ejemplo de aplicación web en tiempo real son todos los servicios de mensajería web, donde el mensaje es enviado y recibido por todos en tiempo real. Los servicios de comercio en línea son otro ejemplo de aplicación web en tiempo real. Los juegos multijugador en línea también son aplicaciones en tiempo real donde los usuarios están constantemente al día con los datos del servidor.

Los juegos multijugador japoneses extraños en línea como este podrían existir si no fuera por la tecnología en línea que permite aplicaciones web en tiempo real:

Estoy seguro de que has oído hablar de este juego también es una aplicación web en tiempo real. Club Penguin, ¿suena una campana?