Node.js: non solo uno strumento server-side. Q&A con Matteo Collina

“Once upon a time, I learned programming on my father’s lap (yes, I was young). Back then, I didn’t worry too much about architecture. I just wanted to write video games so that I could play them”.

Matteo Collina è un* software engineer* ed esperto di Internet of Things (IoT), appassionato di codice, architetture distribuite e metodologie agili. Lavora oggi per nearForm.

Qui una breve intervista con Matteo su Node.js. Buona lettura! 🙂

Avanscoperta: Ieri pirata del codice, oggi speaker internazionale, contributor del runtime Node.js, trainer…
Matteo, che cosa non sappiamo ancora di te che vale la pena conoscere?

Matteo Collina: Ho messo le mani su una tastiera per la prima volta a 4 anni, e non ricordo di “aver imparato a programmare”.
Quando ero ragazzino, ho partecipato al team che gestiva un MMORPG basato su NeverWinter Nights.

Avanscoperta: Un viaggio attraverso Node.js: da dove sei partito, quali rotte hai percorso e dove sei diretto?

Matteo Collina: Ero uno sviluppatore Java per un’azienda che si occupa di consulenza bancaria, ma volevo fare innovazione.
Ho mollato tutto e sono tornato in università per conseguire un dottorato con tesi sull’Internet of Things.
Avevo bisogno di sviluppare software velocemente perché avrei dovuto portare avanti il mio progetto da solo, e avevo bisogno di un runtime per gestire migliaia di connessioni in contemporanea: ho sposato node dalla versione 0.4.

Avanscoperta: Cos’è per te Node?

Matteo Collina: Node è una community che non ha paura di sperimentare nuovi approcci nel “fare software”.

Possiamo trovare progetti Peer To Peer, applicazioni desktop, o sistemi HW/SW.

Node.js è una community inclusiva, capace di abbracciare nuove idee e persone e di continuare a crescere.

Avanscoperta: Perché sviluppare in Node.js?

Matteo Collina: Sviluppare in Node consente di ridurre i costi di sviluppo (fino al 50%, secondo alcuni), e garantisce prestazioni eccellenti. Infine, vi sono più di 250.000 librerie Open Source disponibili su NPM, pronte da usare.
Vi consiglio di leggere questo articolo.

Avanscoperta: Il** tuo workshop **Sviluppare un’applicazione enterprise con Node.js ha generato una “domanda dal pubblico”: qual è la definizione di applicazione enterprise?

Matteo Collina: Potremmo rivolgerci a Wikipedia, ma la mia definizione è differente: se l’azienda per cui stai sviluppando software ha più di un team, allora stai sviluppando software enterprise.

Avanscoperta: Cosa mi porto a casa dal tuo workshop?
La seconda domanda dal pubblico! 😉

Matteo Collina: Con questo workshop impariamo un processo di sviluppo che scala al di là del singolo progetto.
Impariamo a sviluppare codice “in the large” e a manutenere applicazioni medio-grandi scritte in node.js (dalle 10.000 loc in su).

Avanscoperta: Utenti enterprise, aziende di grandi dimensioni: quali sono i vantaggi nell’uso di Node.js? Chi sono gli ultimi grandi early adopter?

Matteo Collina: La riduzione dei tempi di sviluppo, la** riduzione dei costi**, l’aumento delle prestazioni, la maggiore collaborazione all’interno dell’azienda.
Inoltre, all’interno del Technology Adoption Lifecycle, Node.js non è più una tecnologia per gli early adopter, ma è ormai passata nella early majority.

Avanscoperta: Qual è il futuro prossimo di Node.js e qual è il legame con l’Internet of Things?

Matteo Collina: Node.js è un progetto maturo e stabile: ha una versione LTS (ora la 4) che viene rilasciata ogni anno, e sta iniziando il processo per finalizzare la versione 6 (nuova LTS).
Il team che mantiene Node.js è ora composto da quasi 60 persone, e questo assicura continuità al progetto.
Al riguardo dell’Internet of Things, Node.js è una tecnologia che si sposa estremamente bene con applicazioni soft real-time, quali la maggior parte delle applicazioni di IoT.

Avanscoperta: Eventi da non perdere per gli interessati al tema?

Matteo Collina: Vi consiglio JsDay a Verona, e gli eventi nodeschool.io a Bologna, Milano e Cagliari.
Inoltre, a breve verrà annunciata la nuova edizione di Node JS Conf.

Avanscoperta: Grazie Matteo, ci vediamo a Bologna!

Pic credits: Artem Verbo on Unsplash.

Learn with Matteo Collina

Matteo è il trainer del Node.js Workshop.

La lista completa dei nostri corsi: Avanscoperta Workshops.