RxJS


RxJS è l’acronimo di Reactive Extension for Javascript, è una libreria che si occupa di poter gestire in maniera molto semplice chiamate asincrone di qualsiasi tipo, per poter costruire programmi con interfaccia molto più “reattive”. L’idea di fondo è quella di eseguire le varie operazioni in maniera asincrona, e la libreria si occupa poi di riconciliare tutte le chiamate con i relativi programmi di gestione della risposta, in questo modo l’interfaccia non risulta bloccata sull’attesa della risposta al click del mouse su un pulsante, ma può proseguire la gestione degli eventi dell’interfaccia. Chi utilizza Angular, utilizza già questa libreria, forse neanche senza saperlo, per eseguire le chiamate alle WebAPI dell’applicazione: infatti i vari tool automatici di gestione delle WebAPI utilizzano RxJS per creare oggetti ad più alto livello, che utilizzano alla base RxJS. Un ottimo libro per esaminare a fondo questa libreria è RxJS in Action di Paul P. Daniels e Luis Atencio, il libro copre la versione 5 della libreria. Sarebbe utile conoscere i fondamenti della programmazione funzionale in Javascript prima di affrontare la lettura del libro, ma non è strettamente necessario. Il libro mostra con dovizia di esempi, come l’utilizzo della libreria renda semplice coinciso e chiaro la realizzazione della sincronizzazione di operazioni complesse, che richiederebbero complicate e oscure routine di programmazione classica.