Venerdì 7 ottobre si è svolto il ReactJS Day organizzato dal GrUSP in collaborazione con il FEVR e vi proponiamo la seconda parte del resoconto degli interventi più interessanti.

Se vi siete persi la prima parte la trovate qui.

Gli argomenti della giornata – Parte 2

Francesco Strazzullo – Stay (React)ive with MobX

img_20161007_142602Guarda il video
In questo talk è stato introdotto e mostrato l’utilizzo di MobX, l’ultimo arrivato tra gli strumenti per la gestione dello stato delle applicazioni che va a scontrarsi con l’ormai noto e diffuso Redux.
MobX si basa sull’osservazione dei cambiamenti dello stato, in modo da andare a  propagare in maniera automatica e trasparente i cambiamenti verso i valori computati e le reazioni (come l’aggiornamento della UI).
MobX è una libreria basata sulla produzione di minor codice boilerplate, ma ha anche degli effetti collaterali, e per questo sembra più adeguata ad applicazioni medio/piccole che ne possono trarre i maggiori benefici.

Gian Marco Toso – Building Modular Redux Applications

img_20161007_145511Guarda il video
Gian Marco ci ha mostrato alcuni approcci per l’organizzazione del codice per le applicazioni che fanno uso di Redux secondo un approccio modulare che permetta di adottare il riutilizzo del codice e la separazione delle responsabilità. Alcune modalità sono già note, come i Ducks: Redux Reducer Bundles o la proposta di Jack Hsu per la struttura delle applicazioni. La proposta di Gian Marco per un applicazione modularizzata è disponibile come boilerplate https://github.com/gianmarcotoso/redux-seed

Erik Wendel – Frontend At Scale: Experiences Using React In A Large Organization

img_20161007_152509Guarda il video
Come fa una grande azienda strutturata, come ad esempio un istituto bancario, a organizzare e riadattare il proprio sviluppo con un’impostazione moderna e con l’adozione di React e delle tecnologie che gli gravitano intorno? Erik ci ha mostrato la sua esperienza con la SpareBank1, la seconda banca più grande di Norvegia, che ha potuto riscrivere le proprie applicazioni e organizzare il lavoro dei suoi sviluppatori con un approccio a componenti, con librerie consultabili, repository condivisi e style guide che si aggiornano automaticamente.

Fatos Hoti – What the hell is graphQL and why should I care?

img_20161007_162708Guarda il video
Il talk ha introdotto GraphQL (“A query language for your API”) che permette di descrivere in maniera completa e comprensibile i dati che si vogliono esporre con un API. Permette ad un client di chiedere esattamente cosa vuole avere in risposta, anche da sorgenti diverse con un’unica richiesta.
Fatos ha raccontanto la sua esperienza con GraphQL come un’aggregatore di API già esistenti. Ha toccto varie funzionalità avanzate di GraphQL come defer, stream e live. Ci ha anche mostrato un client leggero lokka ottimo per chi si avvicina a GraphQL per la prima volta.

Michele Bertoli – Proper Error Handling with React Redux

img_20161007_165850L’ultimo talk della giornata ha affrontato un aspetto che affligge chiunque, la gestione degli errori. W3schools riporta “Normally, errors will happen, every time you try to write some new JavaScript code.”. Partendo dal presupposto che qualsiasi applicazione genererà degli errori, indipendentemente dalla bravura dello sviluppatore e dalla quantità di test, si è incentrato su come gestire un errore quando si verifica senza lasciare gli utenti “tristi e arrabbiati”. Lo scopo è quindi quello di dare un feedback all’utente, accorgersi del malfunzionamento velocemente e salvare i dati necessari per riprodurlo. Ha analizzato i vari tool a disposizione come window.onerror, stacktrace.js, TraceKit per arrivare al costrutto try…catch e soluzioni alternative come ryanmorr/try-catch. Lo speaker ha quindi sviluppato un suo tool per la gestione degli errori.
Un altro strumento utile mostrato è react-poop, che incapsula le funzioni stateless e i metodi render in un blocco try…catch. Quando qualcosa va storto mostra una poop_emoji o invoca un handler specificato senza bloccare il rendering dei componenti.