Node.js e sviluppo per l’Internet of Things

Se l’Internet of Things (o Internet delle cose che dir si voglia) è la Next Big Thing, la prossima rivoluzione industriale, un software come Node.js si candida fin d’ora ad avere sicuramente un ruolo chiave all’interno dello sviluppo degli oggetti e dei prodotti per il mondo IoT. Personalmente, sono sempre più interessato e coinvolto nell’apprendimento e nell’utilizzo di Node.js per lo sviluppo di progetti e di applicazioni prototipo. Scrivendo questo post voglio rimarcare alcuni dei vantaggi che derivano dall’utilizzo di javascript nel regno dell’Internet of Things.
Secondo molti, me compreso, ci sono alcune sfide significative che dovremmo affrontare nel prossimo futuro.
Prima di tutto, appurato che la crescita dei dati (sembra) essere infinita, abbiamo bisogno di nuovi modi per gestire le connessioni di rete, il controllo dei e suoi dati ma, soprattutto, nuove soluzioni per gestire l’intelligenza dei device, per poter estrarre informazioni realmente utili dai dati.
D’altra parte, le app devono diventare più rapide, agili, flessibili e in grado di offrire, potenzialmente, una esperienza unificata tra i sistemi aziendali e sociali con cui comunicano e i dispositivi embedded che utilizzano.
Infine, abbiamo bisogno di fare le cose velocemente, per poter verificare e testare quali sono le soluzioni più adatte per una determinata soluzione, evitando almeno all’inizio, soluzioni tropppo costose, complesse o con curva di apprendimento e/o implementazione troppo ripida.
Node.js sembra essere il sistema che risponde meglio di altri a tutti questi requisiti. La sua velocità, scalabilità ed efficienza lo rendono ideale per lo sviluppo di applicazioni ad uso intensivo di dati e in tempo reale. Di più, per Node.js il “real-time” è una pietra angolare del suo sviluppo.
Questa piattaforma è cresciuta moltissimo negli ultimi anni, ed ha un ampio sostegno da parte di migliaia di sviluppatori in tutto il mondo, che hanno contribuito con più di 250000 moduli (a questa data: 3 maggio 2016), raccolti all’interno del Node Packaged Modules (NPM). All’interno di questo mare di codice, ci sono moduli costruiti per lavorare con Arduino, BeagleBone, Intel Galileo, Raspeberry PI, BlueTooth, controllo energetico, la robotica e così via. Dite di cosa avete bisogno, NPM sarà (quasi) sempre in grado di fornire quello che vi serve!
Infine, in Node.js sviluppare API è semplice, punto. Infatti ha almeno tre framework espressamente dedicati allo sviluppo di API come Express (la mia scelta personale), Restify e Hapi.

Tutti questi punti chiariscono come Node.js sia una delle scelte migliori se il vostro intento è quello di:
dividere la logica dei vostri prodotti in piccoli pezzi per condividerla tra i diversi dispositivi;
pensare in termini di scalabilità attraverso lo sviluppo di API;
concentrarsi su una progettazione pulita ed estensibile.

Nel prossimo post invece pubblicherò una lista dei principali framework per lo sviluppo di applicazioni per l’Internet of Things che sfruttano le capacità di Node.js.

Leave a Reply

Your email address will not be published. Required fields are marked *