Node.js è una piattaforma open source costruita sul motore JavaScript di Google Chrome (motore V8). Esegue codice JavaScript al di fuori di un browser Web ed è progettato per creare applicazioni di rete scalabili. Utilizza un modello di Input / Output guidato dagli eventi e non bloccante ed è influenzato da EventMachine di Ruby e Twisted di Python. Node.js consente agli sviluppatori di utilizzare JavaScript per scrivere strumenti da riga di comando e utilizzare script lato server, che utilizza script su un server web per produrre una risposta personalizzata per la richiesta di ogni cliente al sito web.
Node.js è stato sviluppato da Ryan Dahl nel 2009. La versione iniziale supportava solo Linux e Mac OS X. Sebbene .js sia l'estensione del nome file standard per il codice JavaScript, il nome Node.js non si riferisce a un file particolare ed è esclusivamente il nome del prodotto.
Come funziona Node.js
Il motore del server utilizza un modello I / O basato su eventi e non bloccante, il che significa che l'adattamento di JavaScript al linguaggio macchina è più semplice e il codice può essere eseguito rapidamente e semplicemente. Rispetto alle tradizionali tecniche di web serving in cui ogni richiesta genera un nuovo thread, Node.js opera su un ciclo di eventi a thread singolo. Ciò aiuta i server a rispondere in modo non bloccante e rende il server altamente scalabile.
Node.js offre il supporto integrato per la gestione dei pacchetti tramite Node Package Manager (NPM). È uno strumento predefinito fornito con ogni installazione di Node.js. NPM contiene milioni di librerie scaricabili gratuitamente in base a requisiti specifici. Chiunque può pubblicare il proprio modulo per essere elencato nel repository NPM. I moduli NPM popolari includono:
- esprimere: Un framework di sviluppo web ispirato a Sinatra (sì, c'è un linguaggio di programmazione chiamato Ol 'Blue Eyes)
- Hapi: Un framework modulare incentrato sulla configurazione per la creazione di applicazioni web e di servizio
- collegarsi: Un framework server HTTP estensibile che fornisce una raccolta di plug-in noti come middleware
- Redis: Libreria client Redis
- Per sempre: Una delle utilità più comuni per garantire che un determinato script di nodo venga eseguito continuamente
- Momento: Una libreria di date JavaScript per analizzare, convalidare, manipolare e formattare le date
Node.js utilizza
Node.js può essere utilizzato per:
- Backend per il social media networking
- Sviluppo di applicazioni su una sola pagina
- chatbots
- Streaming dei dati
- Sviluppo di applicazioni IoT
- Applicazioni in tempo reale ad alta intensità di dati
Non è consigliabile utilizzare Node.js per applicazioni ad alta intensità di CPU.