</> CodeBooks
    ← Volver a HTML5 (página 6)
    Portada de Data Push Apps With HTML5 SSE

    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?

    TeóricoPráctico

    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.

    Más de HTML5 con nivel Intermedio