Node.js e Express.js, domande e risposte

node.js

Vi proponiamo un'intervista al nostro CTO Stefano che ci spiega con precisione cos'è Node.js, la piattaforma Javascript che stiamo utilizzando sempre di più in casa DevInterface.

Iniziamo subito con il chiarire ai lettori del nostro blog cos'è Node.js e quali sono le sue caratteristiche principali.

Node.js è una piattaforma server side basata sul Runtime Javascript di Chrome. Il suo obiettivo è quello di creare facilmente applicazioni di rete veloci e scalabili.

Node.js utilizza un modello non bloccante basato su eventi, che lo rende leggero ed efficiente, perfetto per applicazioni in tempo reale ad alta intensità di dati che si eseguono su dispositivi distribuiti.

Quali sono le differenze tra Node.js e gli altri linguaggi e framework che utilizziamo, come Ruby on Rails e Python Django?

Sulla base di Node.js sono stati creati innumerevoli framework web, la maggior parte prendendo spunto da Ruby On Rails. Il più famoso e minimale è sicuramente Express.js.

La sua versatilità e potenza ci consentono di accedere facilmente a database diversi (MongoDB, PostgreSQL) e tecnologie di presentazione client side innovative (Vue.js, React.js).

Per che tipologia di prodotto utilizziamo Node.js e perché?

Attualmente usiamo Node/Express.js per la realizzazione di API ad alto numero di accessi, che devono fornire tempi di riposta velocissimi. Ad esempio, API per applicazioni mobile.

Usiamo Node.js anche per la realizzazione di componenti di microservices o per applicazioni realtime (chat e chatbot ad esempio).

Infine, alterniamo l'uso di Express.js a Ruby On Rails anche per la creazione delle classiche web applications. Giusto per variare un po'. :-)

Pensi che Node.js in futuro sarà usato sempre di più per creare siti e applicazioni web?

Node.js rappresenta una valida alternativa alle altre piattaforme. La sua componente asincrona può scoraggiare chi è abituato ai classici linguaggi senza contare che Javascript non è propriamente un linguaggio ad oggetti.

Tuttavia, con l'avvento di ES6 e di async/await scrivere codice Javascript è diventato più semplice ed appagante; il callback hell è diventato un ricordo e finalmente è stato introdotto il "concetto di classe".

Ci puoi segnalare le app più conosciute implementate in Node.js?

Paypal, LinkedIn, Netflix ed Uber sono solo alcuni esempi delle innumerevoli applicazioni che si basano su Node.js.

Un'ultima domanda più tecnica e personale: dimmi una cosa che ti piace particolarmente fare sviluppando in Node.js e una cosa invece che proprio non sopporti?

Personalmente non sono mai stato un fan di Javascript e proprio per questo ho sempre preferito non inserire Node.js nello stack tecnologico di DevInterface.

Come scritto sopra, l'avvento di ES6 e async/await hanno determinato una rivalsa del linguaggio, che si è meritato di diventare il protagonista per il futuro della nostra azienda.

Siamo arrivati alla conclusione di questa interessante intervista. Se siete interessati anche agli altri linguaggi che usiamo nella nostra software house, leggete le interviste realizzate su Python e Ruby on Rails!


Se volete sapere come realizziamo i progetti dei nostri clienti approfondite la nostra metodologia di lavoro.