Introduzione al nodo.js
La moderna applicazione web ha davvero fatto molta strada nel corso degli anni con l’introduzione di molti framework popolari come bootstrap, Angular JS, ecc. Tutti questi framework sono basati sul popolare framework JavaScript.
Ma quando si trattava di sviluppare applicazioni basate su server, c’era una sorta di vuoto, e questo è dove Nodo.js è entrato nella foto.
Nodo.,js si basa anche sul framework JavaScript, ma viene utilizzato per lo sviluppo di applicazioni basate su server. Mentre si passa attraverso l’intero tutorial, esamineremo Nodo.js in dettaglio e come possiamo usarlo per sviluppare applicazioni basate su server.
Programma
Tutorial | Scarica& Installa il nodo.js: Guida passo passo. |
Tutorial | Nodo.moduli js: Creare, pubblicare, estendere & Gestire |
Tutorial | Nodo.,js Http Tutorial: Create Server and Get Data |
Tutorial | Node.js Express Tutorial |
Tutorial | Node.js MongoDB Tutorial |
Tutorial | Node.js Promise Tutorial |
Tutorial | Bluebird Promises Tutorial |
Tutorial | Node.js Generators & Compare with Callbacks |
Tutorial | Node js Streams Tutorial: Filestream, Pipes |
Tutorial | Node.,test js con Jasmine |
Tutorial | Che cos’è GraphQL? Tutorial con Esempio |
Tutorial | GraphQL vs REST: qual è la differenza? |
Tutorial | Nodo.Js Vs. AngularJS: Conoscere la differenza |
Tutorial | Nodo.js Vs. Python: Qual è la differenza? |
Tutorial | Top 25 Nodo.js Intervista Domande & Risposte |
Tutorial | Nodo.,js Tutorial PDF |
Che cos’è il nodo.js?
Nodo.js è un ambiente di runtime multipiattaforma open source utilizzato per lo sviluppo di applicazioni Web lato server. Nodo.le applicazioni js sono scritte in JavaScript e possono essere eseguite su un’ampia varietà di sistemi operativi.
Nodo.js si basa su un’architettura basata su eventi e un’API di input/output non bloccante progettata per ottimizzare il throughput e la scalabilità di un’applicazione per le applicazioni Web in tempo reale.,
Per un lungo periodo di tempo, i framework disponibili per lo sviluppo web erano tutti basati su un modello stateless. Un modello stateless indica che i dati generati in una sessione (ad esempio le informazioni sulle impostazioni dell’utente e gli eventi verificatisi) non vengono mantenuti per l’utilizzo nella sessione successiva con tale utente.
È stato necessario fare molto lavoro per mantenere le informazioni sulla sessione tra le richieste di un utente. Ma con il Nodo.,js, c’è finalmente un modo per le applicazioni web di avere connessioni bidirezionali in tempo reale, in cui sia il client che il server possono avviare la comunicazione, consentendo loro di scambiare dati liberamente.
Perché usare Node.js?
Daremo un’occhiata al vero valore del nodo.js nei prossimi capitoli, ma cos’è che rende questo framework così famoso. Nel corso degli anni, la maggior parte delle applicazioni erano basate su un quadro di richiesta-risposta stateless., In questo tipo di applicazioni, spetta allo sviluppatore assicurarsi che il codice corretto sia stato messo in atto per garantire che lo stato della sessione Web sia stato mantenuto mentre l’utente stava lavorando con il sistema.
Ma con Nodo.applicazioni web js, è ora possibile lavorare in tempo reale e avere una comunicazione a 2 vie. Lo stato viene mantenuto e il client o il server possono avviare la comunicazione.
Caratteristiche del nodo.js
Diamo un’occhiata ad alcune delle caratteristiche chiave del nodo.,js
-
L’IO asincrono basato su eventi aiuta la gestione simultanea delle richieste-Questo è probabilmente il punto di vendita più significativo del nodo.js. Questa caratteristica significa fondamentalmente che se una richiesta viene ricevuta dal Nodo per alcune operazioni di input / Output, eseguirà l’operazione in background e continuerà con l’elaborazione di altre richieste.
Questo è molto diverso dagli altri linguaggi di programmazione. Un semplice esempio di questo è dato nel codice sottostante
var fs = require('fs'); fs.readFile("Sample.txt",function(error,data) { console.log("Reading Data completed"); });
- Lo snippet di codice sopra riportato esamina la lettura di un file chiamato Sample.,txt. In altri linguaggi di programmazione, la riga successiva di elaborazione avverrebbe solo una volta letto l’intero file.
- Ma nel caso del Nodo.js la frazione importante di codice da notare è la dichiarazione della funzione (‘function (error,data)’). Questo è noto come una funzione di callback.
- Quindi quello che succede qui è che l’operazione di lettura del file inizierà in background. E altre elaborazioni possono avvenire simultaneamente mentre il file viene letto., Una volta completata l’operazione di lettura del file, verrà chiamata questa funzione anonima e il testo “Lettura dati completata” verrà scritto nel registro della console.
- Il nodo utilizza il motore di runtime JavaScript V8, quello utilizzato da Google Chrome. Il nodo ha un wrapper sul motore JavaScript che rende il motore di runtime molto più veloce e quindi anche l’elaborazione delle richieste all’interno del nodo diventa più veloce.
- Gestione delle richieste simultanee-Un’altra funzionalità chiave di Node è la capacità di gestire connessioni simultanee con un overhead molto minimo su un singolo processo.,
- Il Nodo.la libreria js utilizza JavaScript: questo è un altro aspetto importante dello sviluppo in Node.js. Una parte importante della comunità di sviluppo è già esperta in javascript e, quindi, nello sviluppo in Node.js diventa più facile per uno sviluppatore che conosce javascript.
- C’è una comunità attiva e vivace per il Nodo.js quadro. A causa della comunità attiva, ci sono sempre aggiornamenti delle chiavi messi a disposizione del framework. Questo aiuta a mantenere il framework sempre aggiornato con le ultime tendenze nello sviluppo web.
Chi usa il Nodo.js
Nodo.,js è utilizzato da molte grandi aziende. Di seguito è riportato un elenco di alcuni di loro.
- Paypal-Un sacco di siti all’interno di Paypal hanno anche iniziato la transizione sul nodo.js.
- LinkedIn-LinkedIn sta usando il nodo.js per alimentare i loro server mobili, che alimenta l’iPhone, Android, e prodotti Web mobile.
- Mozilla ha implementato il Nodo.js per supportare le API del browser che ha mezzo miliardo di installazioni.
- eBay ospita il loro servizio API HTTP nel Nodo.js
Quando usare il nodo.js
Nodo.,js è il migliore per l’utilizzo in streaming o applicazioni in tempo reale basate su eventi come
- Applicazioni di chat
- Server di gioco-Server veloci e ad alte prestazioni che devono elaborare migliaia di richieste alla volta, quindi questo è un framework ideale.
- Buono perambiente collaborativo – Questo è buono per gli ambienti che gestiscono i documenti. In un ambiente di gestione dei documenti, avrai più persone che pubblicano i loro documenti e fanno cambiamenti costanti controllando e controllando i documenti. Quindi Nodo.,js è buono per questi ambienti perché il ciclo di eventi nel nodo.js può essere attivato ogni volta che i documenti vengono modificati in un ambiente document managed.
- Advertisement server-Ancora una volta qui si potrebbe avere migliaia di richiesta di tirare pubblicità dal server centrale e Nodo.js può essere un framework ideale per gestire questo.
- Server di streaming-Un altro scenario ideale da utilizzare Nodo è per i server di streaming multimediali in cui i client hanno richiesta di tirare diversi contenuti multimediali da questo server.
Nodo.,js è buono quando hai bisogno di alti livelli di concorrenza ma meno tempo di CPU dedicato.
Meglio di tutti, dal Nodo.js è costruito su javascript, è più adatto quando si creano applicazioni lato client basate sullo stesso framework javascript.
Quando non usare il Nodo.js
Nodo.js può essere utilizzato per molte applicazioni con vari scopi. L’unico scenario in cui non dovrebbe essere utilizzato è dove ci sono lunghi tempi di elaborazione, che è richiesto dall’applicazione.
Nodo è strutturato per essere single-threaded., Se un’applicazione è necessaria per eseguire alcuni calcoli di lunga durata in background, non sarà in grado di elaborare altre richieste. Come discusso sopra, Nodo.js viene utilizzato al meglio dove l’elaborazione richiede meno tempo dedicato alla CPU.