Aplicaciones real-time: WebSockets y Pusher

Pusher - Cloud Diagram

La tecnología de WebSockets es una de las más atractivas novedades que introdujo HTML5 en el desarrollo web y Pusher nos ofrece una estupenda plataforma online para el desarrollo de aplicaciones basadas en ésta tecnología.

Los Websockets ofrecen un canal de comunicación bidireccional entre cliente y servidor de baja latencia ideal para aplicaciones en tiempo real. Si bien esta funcionalidad ya podía conseguirse con trucos de peticiones AJAX, el hecho de ofrecer una API sencilla y robusta, así como la optimización y mejora de latencia que implica la hacen una tecnología muy interesante.

Understanding Pusher

No obstante el hecho de montar un servidor WebSockets que permita escalar fácilmente el numero de conexiones, no es trivial. Y aquí es donde Pusher se presenta como una opción muy interesante, ofreciéndonos un servicio online que encapsula la implementación de Websockets y un conjunto de librerías para distintos lenguajes de cliente y servidor que nos facilitan mucho el desarrollo de aplicaciones en tiempo real.

Pusher ofrece un servicio gratuito para un máximo de 20 conexiones simultáneas y 100.000 mensajes al día y versiones de pago bastante competentes para el desarrollo de aplicaciones colaborativas, de chat, juegos multijugador, sistemas de notificaciones y en general para el tratamiento de datos en tiempo real.

Para el desarrollo del microsite de promoción del Nuevo Mercedes Clase C, hice uso de Pusher para la sincronización en tiempo real entre dispositivos (pc y móvil o tablet). Con el uso de la librería de Javascript de Pusher se envían notificaciones entre la aplicación de escritorio y la aplicación móvil, permitiendo controlar la reproducción de video en el escritorio mediante el giro del dispositivo móvil.

El resultado fue bastante satisfactorio, tanto por la sencillez de uso de la API como por la posibilidad de uso de Presence Channels que nos permiten identificar al subscriptor de un canal, así como por la escalabilidad del servidor y la calidad del servicio.

Deja una Respuesta