</> CodeBooks
    ← Volver a Arquitectura de software (página 4)
    Portada de Functional Reactive Programming

    Functional Reactive Programming

    Blackheath, Jones

    Editorial
    Manning
    Año
    2016
    Páginas
    ~360
    Nivel
    Intermedio

    De qué trata

    Guía práctica escrita por Stephen Blackheath y Anthony Jones sobre la programación funcional reactiva (FRP pura), concebida como una alternativa robusta y predecible al patrón Observer y al código espagueti de listeners en interfaces y sistemas orientados a eventos. Está pensada para programadores intermedios o avanzados con buen dominio de Java o JavaScript y fundamentos de programación orientada a objetos que deseen dominar el manejo de estado y asincronía sin efectos secundarios imprevistos.

    El libro profundiza en las dos abstracciones centrales de FRP: los flujos de eventos discretos (Event Streams) y los valores continuos que cambian en el tiempo (Cells o Behaviors). Detalla el funcionamiento de primitivas reactivas fundamentales como map, merge, hold, snapshot, filter y la combinación dinámica mediante switch, enfatizando la garantía transaccional y la ausencia total de glitches (inconsistencias transitorias). Como vehículo práctico utiliza la librería Sodium (creada por Blackheath) sobre Java 8 y JavaScript, integrando interfaces gráficas con Java Swing y el DOM de la web, y contrastando el modelo con herramientas populares como RxJS y Kefir.js.

    Los autores guían al lector en la construcción de proyectos prácticos no triviales: un simulador completo de surtidor de gasolina que coordina sensores, flujo de combustible y cálculo de costes, y una simulación de animación física de una pelota que rebota basada en cinemática newtoniana continua sin bucles imperativos. La obra aporta una fundamentación teórica impecable y clara sobre qué es FRP en su concepción original, aunque su dependencia principal de Sodium exige al lector abstraer los conceptos para adaptarlos a librerías dominantes en la industria actual como RxJava o ReactiveX.

    • Functional Reactive Programming (FRP)
    • Sodium
    • Java 8
    • JavaScript
    • Event Streams
    • Cells y Behaviors
    • Semántica transaccional
    • Combinador switch
    • RxJS
    • Programación funcional

    ¿Cómo enseña?

    TeóricoPráctico

    Teoría + práctica

    • ✗ Sin ejercicios
    • ✓ Incluye proyectos

    Proyectos

    Simulador de surtidor de gasolina (Petrol Pump)

    Aplicación que modela el ciclo de vida completo de un dispensador de combustible, gestionando flujos de sensores de combustible, cálculo de precio por litro y transacciones con la caja mediante eventos y celdas de Sodium en Java.

    Simulación física de animación con tiempo continuo (Bouncing Ball)

    Animación gráfica que simula las leyes físicas del movimiento y rebote de una pelota tratando la posición como una función matemática dependiente del tiempo continuo, sin bucles de reloj imperativos.

    Más de Arquitectura de software con nivel Intermedio