Via Marconi 20, Bussolengo (VR)
info@devinterface.com

Node JS: pro e contro 

 

 

 

 

 

 

 

 

 

Node.js viene introdotta nel 2009 dallo sviluppatore Ryan Dahl ed è una piattaforma che in molti utilizzano per potenziare lo sviluppo back-end, utilizzando ancora il linguaggio ad esso collegato: JavaScript

Cos’è nello specifico Node.js? 

É un framework di JavaScript che permette allo sviluppatore di eseguire il proprio codice in un dominio che è virtuale e fonda le sue radici sul motore JavaScript V8 di Chrome. Inoltre, Node.js è sia open source che multipiattaforma

  • Open source: i sorgenti sono liberamente accessibili e modificabli dalla comunità di sviluppatori.

  • Software multipiattaforma: risulta disponibile su tutti i sistemi operativi. 

Per citare qualche nome di famose aziende che hanno deciso di adottare questa tecnologia per il back-end delle sue applicazioni mobili, vi sono: LinkedIn, Uber, eBay, Walmart e Netflix

Perché usare Node.js? 

Di seguito elenchiamo alcuni vantaggi e svantaggi nell’utilizzo di Node.js.

I vantaggi 

  1. Robusto stack tecnologico: utilizzandolo per il back-end si possono ottenere tutti i vantaggi dello sviluppo JavaScript completo, ovvero una migliore efficienza e produttività, la possibilità di condivisione e riutilizzo del codice col frontend, grande velocità e un numero enorme di strumenti gratuiti. Queste caratteristiche agevolano i tempi di sviluppo e, di conseguenza, ciò che si ottiene è un software veloce e prestante; 

  1. Modello basato su eventi: nel momento in cui si utilizza un linguaggio comune, sia dal lato client che dal lato server, si ottiene una sincronizzazione rapida. Questo dettaglio risulta molto utile per le applicazioni che si basano su eventi in tempo reale. Proprio per questo, Node.js, è la scelta più frequente per lo sviluppo di giochi online, chat, videochat, social e qualsiasi altra soluzione che richiede aggiornamenti in real time; 

  1. Scalabilità: la sua leggerezza si dimostra un’ottima scelta per l’architettura di micro-servizi. Lo stile architetturale di Node.js approccia allo sviluppo di ogni applicazione come un insieme di piccoli servizi, ciascuno con il proprio processo esecutivo, che consente una maggiore e migliore flessibilità rispetto un singolo nucleo di moduli. Di conseguenza è più semplice aggiungere più micro-servizi, piuttosto che integrare funzionalità aggiuntive con quelle di base dell’app; 

  2. Comunità: considerato come un software accessibile, Node.js gode di una grande comunità pronta a offrire feedback e supporto, ed è la stessa comunità che sfrutta la posizione open source di Node.js, creando strumenti per semplificare il processo di sviluppo per tutti. 

  3. Integrazione: Node.js si sposa benissimo con database documentali, come MongoDb e con frontend Javascript come React e Vue.

Gli svantaggi  

  1. Attività di calcolo pesanti: nell’utilizzo risulta ancora un’incapacità di elaborazione delle attività legate alla CPU. Questo accade ogni volta che arriva una richiesta “pesante” al ciclo degli eventi: Node.js imposta tutta la CPU disponibile in modo da elaborarla in anticipo e rispondere ad altre richieste in coda. Cosa comporta? Una lenta elaborazione e un ritardo nel ciclo degli eventi. Nella versione 12 di Node.js, ancora in fase sperimentale, si sta cercando di migliorare questa funzionalità; 

  1. Strumenti non del tutto adeguati: nonostante i principali moduli di Node.js siano stabili e sufficientemente adeguati, esistono diversi strumenti non all'altezza, contenuti nel registro npm. 

Perchè sceglierlo? 

Dopo aver letto l’articolo, quello che si evince è che Node.js risulta essere una valida soluzione per lo sviluppo e la creazione di microservizi ed API, appoggiandosi poi a framework Javascript per la realizzazione del frontend.

Per coloro che hanno intenzione di far sviluppare un'applicazione, dovranno confrontarsi con professionisti esperti, in grado di sfruttare al meglio il framework e rendere la tua app un lancio verso il futuro

Contatta il team di sviluppatori di DevInterface, oppure consulta le nostre sezioni del sito dedicate.