Una domanda semplice alla ricerca di una risposta forse complessa: è possibile oggi fare a meno di Node.js ed escluderlo dalle proprie competenze per la creazione di Web applications? Volendo considerare l'argomento soltanto dal punto di vista tecnico la risposta potrebbe essere più o meno tranquillamente positiva, poche altre professioni infatti offrono così tante alternative per portare a termine la stessa tipologia di progetto come quella dello sviluppatore.
Il criterio squisitamente tecnico non può essere però l'unico da prendere in considerazione, in particolare tenendo conto delle implicazioni di un mestiere che (soprattutto in un mercato come quello italiano) in alcuni casi deve fare i conti con committenze che richiedono le competenze più disparate per la realizzazione di piccoli progetti e, in altri, propongono progetti apparentemente più articolati che potrebbero risolversi con un'installazione di WordPress e l'integrazione di alcune estensioni di terze parti.
Sostanzialmente chiedersi se si può fare a meno di Node.js non corrisponderebbe a domandarsi, per esempio, se si può ignorare l'esistenza di framework come jQuery o Angular.JS, questo perché, visto il continuo incremento di opportunità per il coding in JavaScript, tali strumenti nascono per semplificare le procedure di sviluppo; poco importa (o no?) che molte problematiche lato client potrebbero essere risolte tramite qualche decina di righe di codice in puro JS, senza la necessità di dover ricorrere a librerie esterne.
Ma Node.js nasce per scopi completamente diversi è si presenta come una soluzione per l'adozione server side di JavaScript; quindi, un primo motivo per considerare l'utilizzo di tale framework almeno vantaggioso, se non proprio indispensabile, potrebbe risiedere innanzitutto nel fatto che chi fino ad ora si è occupato esclusivamente di sviluppo frontend, potrà utilizzare un linguaggio conosciuto per creare Web applications caratterizzate da una logica gestibile lato server.
Tra gli altri vantaggi nell'impiego di questa soluzione si potrebbe citare l'ottimizzazione della trasmissioni di dati in connessione HTTP, l'esecuzione dei sorgenti che abbandona il modello sequenziale in favore di uno sviluppo improntato all'approccio asincrono, la compatibilità con costrutti ECMAScript che invece non viene sempre garantita dai browser, l'ottimo livello di performances nella gestione delle richieste e la modularità dell'architettura.
Possiamo quindi fare a meno di Node.js? I progetti, le applicazioni, i CMS, i fork e gli strumenti basati su di esso sono in continuo aumento e, soprattutto nel panorama internazionale, in alcuni casi stanno cambiando il modo di sviluppare con un effetto (in proporzione) quasi paragonabile a quello dovuto all'avvento dei nuovi standard e alle opportunità offerte dal mobile development, per cui è probabile che in futuro le competenze su Node.js saranno sempre più richieste.
Vi sono però ambiti in cui Node.js potrebbe non rivelarsi la soluzione più adatta, e in questo non c'è contraddizione rispetto a quanto già esposto, ma a tali aspetti dovrà essere dedicato necessariamente un discorso a parte.