Reactive programming
Signals (reactive programming)
L’evoluzione dei Signals
Alla base è il concetto di programmazione reattiva sfruttando una variante del design pattern: Observer
The Evolution of Signals in JavaScript
Concetti chiave:
-
Data binding: Attaccare “un pezzo di stato” nell’albero del DOM, potente (e pericoloso) perché è bidirezionale, stato —> dom, dom —> stato
-
Reactive:
Super Charging Fine-Grained Reactive Performance
Gestione dello stato in modo reattivo: eseguire delle funzioni quando la sorgente è stata cambiata in modo:
-
Efficiente: non eseguire più volte del necessario
-
Glitch free: senza far vedere all’utente uno stato intermedio (solo alcuni elementi reattivi sono cambiati)
Possono essere di due tipi: eager o lazy Come risolvere il problema del Diamante
S.js introduzione reactive ownership