Michele Nasti

Thoughts on what I learn

WebApp nel tempo libero con approccio MEAN

E' una di quelle domande poste da un amico che ha letto il mio precedente articolo (pro e contro di Angular dopo due mesi di lavoro). Lui è un ex-collega universitario che da qualche tempo non ha più la possibilità di programmare; siccome ha voglia di aggiornarsi, ha chiesto un po' in giro quali sono gli ultimi trend.

Quel che voleva realizzare è un piccolo software per la gestione della biblioteca presso cui presta servizio. E allora sono partito con la prima domanda: dato che vuoi approfittarne per aggiornarti, hai molto tempo libero?

E poi via con le tristi ma necessarie frasi a effetto: il tempo delle pagine generate lato server è finito, e non sono solo io ad averlo sentenziato 🙂

Non è che i server non esistono più, anzi; il loro ruolo adesso è fortemente cambiato. I server ormai prendono i dati dal DB, li validano, li assemblano, li trasformano, e li mandano alla UI che si preoccupa invece di renderizzare le pagine.

A inizio anno ho risposto a un sondaggio on line che dà l'idea di dove vuole andare a parare il web development nel 2015: Il vincitore a mani basse è NodeJS, motivo per cui bisogna assolutamente essere dei maestri di Javascript.

Se si approccia NodeJS bisogna imparare uno stack tecnologico completamente rivoluzionato rispetto al vecchio caro LAMP (Linux, Apache, MySql, Php). Il nuovo approccio viene definito "MEAN" che sta per MongoDB, Express, Angular, NodeJS.

Mi vorrei soffermare giusto un attimo sul fatto che in MEAN manchi Javascript nella definizione, ma di fatto c'è. Javascript è alla base di tutte queste tecnologie; una volta (all'università) ci veniva proposto di usare JS solo per fare un po' di validazione lato client e niente più; invece è un Linguaggio di Programmazione come tutti gli altri - Java, C, PHP, etc. - e come tale va studiato approfonditamente. Tra le tante cose è un linguaggio funzionale, ci sono almeno quattro modi per creare un oggetto, ed è importante conoscerli tutti; è dinamico, è prototipizzato, ed ha un concetto di "scope" da afferrare bene!

I vecchi problemi di compatibilità dei browser, da IE9 in poi, sono stati praticamente risolti (in passato ogni browser faceva di testa sua, e gli standard non venivano MAI rispettati); ora sviluppare webapp è un piacere, e con browser disponibili in ogni smartphone diventa facilissimo trasformare una webApp in un'App.

Cosa manca all'elenco? Ah si! Bootstrap 🙂 nessuno di noi nasce web designer, motivo per cui utilizzando Bootstrap il nostro sito parte con un livello di bellezza decente.

Cazzate! Questa roba non diventerà mai mainstream

Forse è vero. Javascript stesso ci ha messo 10 anni per passare da chicca presente nei browser a linguaggio a sé stante. Ma il succo non è di imparare qualcosa per poi riportarla nel mondo del lavoro; l'intramontabile Java e gli immortali database relazionali dureranno molto più a lungo delle nostre stesse vite. Ciò che conta davvero è capire la filosofia alla base di questi nuovi approcci, e perché sono così diversi dallo sviluppo che si faceva anche solo 5 anni fa.

Se nelle università o nei corsi professionali non accennano neanche un po' ad Ajax, o spiegano solo la generazione di pagine lato server, allora è il momento che vi aggiornate da voi.