
Data Push Apps With HTML5 SSE
Darren Cook
- Editorial
- O'Reilly
- Año
- 2014
- Páginas
- ~222
- Nivel
- Intermedio
De qué trata
Libro de O'Reilly en el que Darren Cook explica cómo enviar datos del servidor al navegador en tiempo real con Server-Sent Events (SSE) de HTML5, sin que el cliente tenga que preguntar constantemente al servidor y con muy poca latencia. Se basa en la especificación W3C de finales de 2012. Está dirigido a desarrolladores de nivel intermedio que conocen HTML, HTTP y JavaScript básico, y se centra en lo que hace falta para llevar SSE a producción con clientes reales.
Empieza comparando SSE con WebSockets y con el modelo pull para saber cuándo conviene cada uno. Luego construye un ejemplo mínimo con jQuery en el frontend y backends en PHP y Node.js. A partir de ahí trata la historia de datos y su almacenamiento, la gestión de errores y JSON mal formado, keep-alive, retry, reconexión con Last-Event-ID, cómo evitar la caché y los bloqueos, y cómo generar datos de prueba realistas y repetibles. Dos capítulos están dedicados a las alternativas para navegadores sin SSE (polling, long-polling, XHR e iframe, con soporte hasta IE7 e IE8), con las que el soporte pasa de alrededor del 60% al 99% de los navegadores. Cierra con el resto del estándar (eventos con nombre, datos en varias líneas) y la seguridad: cookies, autenticación con Apache, SSL, CORS y withCredentials. Hay apéndices sobre el estándar, closures en JavaScript y PHP.
El hilo conductor es una aplicación realista del sector financiero que difunde cotizaciones de divisas (FX) de un banco y que va mejorando de capítulo en capítulo hasta quedar lista para producción. El libro destaca por su enfoque pragmático en errores, reconexiones y compatibilidad, que es donde suelen fallar los ejemplos sencillos. Hay que tener en cuenta que el backend principal está en PHP y que buena parte de las alternativas para IE ya no hacen falta, porque hoy todos los navegadores modernos soportan EventSource. Aun así, los temas de producción, CORS y autorización siguen siendo válidos.
- Server-Sent Events
- EventSource
- Data push
- WebSockets vs SSE
- PHP
- Node.js
- jQuery
- Long-polling
- Fallbacks XHR/iframe
- Last-Event-ID
- CORS
- Autorización
¿Cómo enseña?
Con proyectos
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Difusión de cotizaciones FX en tiempo real
Aplicación que envía cotizaciones de compra y venta de divisas de un banco a los navegadores mediante SSE, con backend en PHP y frontend en JavaScript. Se le van añadiendo historial, persistencia, gestión de errores y reconexión, alternativas de long-poll, XHR e iframe, y autorización con CORS.
Ejemplo mínimo de SSE
Primer ejemplo sencillo con un frontend en jQuery y un backend mínimo, también en Node.js, para ver el protocolo SSE funcionando de extremo a extremo.

