Node.js, scalabilità e velocità

Node.js è una piattaforma open-source nata nel 2009 che mette a disposizione un ambiente per lo sviluppo lato server di Web Applications. Ogni giorno sempre più sviluppatori e aziende decidono di dare un’opportunità a questa “nuova” tecnologia e di proporla ai loro clienti, principalmente perchè è semplice da installare, non richiede una configurazione iniziale per funzionare ed ha un sistema di gestione dei pacchetti straordinario. Node.js è una piattaforma pensata per essere estremamente scalabile; ciò significa che un’applicazione nasce per crescere nel tempo, ed essere capace di farlo senza dover necessariamente aumentare il budget ad essa destinato. Praticamente abbiamo un sistema che sfrutta in maniera ottimale l’hardware della macchina host con un potenziale risparmio economico non indifferente. Ad esempio: la mia applicazione non riesce più a gestire la mole di richieste che arrivano da tutto il mondo? Creiamo una nuova istanza dell’applicazione invece di comprare altro hardware… La maggior parte dei project manager sarà contenta di sentire che non dovranno spendere altri soldi per aumentare la capacità del loro server. Altro punto di forza è lo stack MEAN a cui appartiene, che contiene Mongo, Express, AngularJS e Node.js, una serie di tecnologie con cui Node si interfaccia molto bene; l’insieme è capace di gestire il ciclo completo di una applicazione, dal frontend al datastorage. Questo è possibile grazie ai pacchetti di librerie mantenuti dalla comunità e che risiedono su Github, facilmente scaricabili gratuitamente con npm. Ad oggi esistono centinaia di pacchetti opensource aggiornati giornalmente per essere in linea con la richiesta sempre maggiore di funzionalità. Solo per citare un esempio, Mongoose è un implementazione del driver di MongoDB disponibile per Node.js che semplifica la scrittura di codice destinato al salvataggio dei nostri dati su database. Ma non tutto è vantaggioso. Adeguarsi all’architettura su cui si basa la piattaforma può dare qualche rompicapo, sopratutto a chi proviene dallo sviluppo di web applications basate su server multithread, in quanto seguono principi completamente diversi. Ciò fa si che sia molto facile cadere in tentazioni come scrivere del codice sincrono, uno dei maggiori errori che si possono commettere quando si sviluppa con Node.js: in questo senso, il codice scritto deve essere rigorosamente non bloccante, permettendo alcune eccezioni all’avvio del server, quando è ancora in fase di startup e quindi non pronto a rispondere alle richieste provenienti dai client. In definitiva, Node.js si presenta come un’ottima tecnologia su cui puntare, innovativa e con grandi potenzialità, nata con l’intenzione di semplificare lo sviluppo lato server senza avere grandi debiti di performance, permettendo alle aziende di risparmiare in costi di hardware e risorse. T4Project è pronta a puntare sul futuro. E voi, sareste disposti ad investire sul futuro rinunciando in parte alle tecnologie ormai consolidate da anni?