STATO DELL´ ARTE SULLO SVILUPPO DI APPLICAZIONI WEB (QUALI TECNOLOGIE SCEGLIERE) Parte 2


Dopo il mio articolo sullo stato dell´arte della programmazione web ho avuto riscontro da amici programmatori che mi hanno fatto notare che liquidare Nodejs come piattaforma principalmente per la programmazione front-end è alquanto riduttivo.
Tutto vero, Nodejs è anche una buona piattaforma per la parte back-end, nel mio precedente articolo ho voluto mettere in evidenza Core.net di Microsoft come piattaforma di back-end perchè Microsoft, sempre restia a creare piattaforme
aperte, con  Core.net  ha creato una piattaforma aperta che funziona su tutti i sistemi operativi, stabile e con un linguaggio di programmazione evoluto.
Ma non posso certamente tralasciare che Nodejs come ambiente di sviluppo back-end stà letteralmente prendendo sempre più piede grazie soprattutto al veloce sviluppo tecnologico di javascript e dell´ambiente stesso che è divenuto negli ultimi anni sempre più veloce, stabile e potente e che ha portato questo linguaggio di scripting usato lato front-end anchead essere utilizzato per la costruzione di complessi programmi lato back-end.  
In questo articolo completerò l´articolo precedente e spiegherò come è possibile, riferendosi agli esempi degli esercizi del precedente articolo per implementare un ambiente di sviluppo sempre con back-end e front-end separati ma tutto realizzato in ambiente Nodejs , quindi realizzato tutto in linguaggio javascript.
Per fare questo creerò un piccolo progetto come da filosofia Nodejs, aggiungerò moduli e librerie a seconda delle necessità implementative.
Creiamo una cartella chiamata ...... Apriamo Visual Studio Code posizionandoci sulla cartella appena creata ed apriamo una finestra terminal. 
Da command procediamo e scriviamo il seguente comand: npm init.
Questo comando mi creerà un file package.json sulla cartella con all´ interno i dati principali del nuovo progetto, inoltre in questo file il sistema inserirà i dati delle librerie aggiunte al progetto.
A questo punto dobbiamo installare express. Express è un framework per Nodejs che permette di gestire tutto ciò che riguarda la parte back-end dell´ambiente, dalle chiamate rest, il routing, il pattern MVC e tanto altro. Di framework ce ne sono altri ma express si è distinto per la sua completezza ed è quello più utilizzato.
Per installare express eseguiremo il seguente comand: npm install --save express.
Infine dobbiamo installare le librerie relative alla gestione del Cors che ci permetteranno di accedere al servizio anche da reti diverse dal browser senza problemi di accesso.
Per installare Cors digitare il seguente comando: npm install --save cors.
Gli esempi dei nostri esercizi sono molto semplici e servono solo a dimostrare come implementare un servizio minimale e quale tecnica utilizzare. Per realizzare un back-end completo ci sarebbe da aggiungere eventuali librerie di accesso ai dati, un framework Orm (framework di interfaccia tra i dati e il linguaggio di programmazione) e delle librerie per la gestione della sicurezza e dell´accesso.
Questi argomenti saranno trattati in articoli successivi.
A questo punto creiamo un file javascript che chiameremo app.js sulla nostra cartella di posizionamento che sarà il nostro entry point.
All´interno di app.js inseriamo il seguente codice javascript:
 

 




Ho voluto uniformare il codice per renderlo più uguale possibile al codice C# del back-end con Core.net.
Analizzando il codice, in evidenza che il codice javascript è quasi identico al codice C#. Al netto della logica applicativa scrivere un servizio rest con javascript risulta anche più semplice. Questo denota la piena maturità del linguaggio e dell´ambiente che è completo, si possono creare applicativi web, desktop (con electron) e mobile (ad esempio usando react native) rimanendo all´ interno di uno stesso ambiente e con un solo linguaggio di programmazione, il tutto gratuitamente e multipiattaforma. 
Per questi motivi nodejs è sempre più utilizzato e javascript è attualmente il linguaggio di programmazione più utilizzato al mondo.
Per far partire il nostro server di back-end da riga di comando eseguire il seguente comando: node app.js
Testeremo i nostri servizi con il server front-end creato nel precedente articolo con React, così facendo avremo un unico ambiente nodejs javascript all´ opera.
Posizioniamoci sulla cartella dove abbiamo inserito in nostro progetto di front-end scritto in react e da riga di comando scriviamo: yarn start e mi partirà react sulla porta 3000. Testare il tutto e verificare il risultato (vedi figura sottostante)
 


Una copia dei sorgenti del progetto descritto in questo articolo li potete trovare a questo indirizzo:

TEST.ZIP