Tutorial Node.js per principianti
Introduzione a Node.js
La moderna applicazione web ha fatto davvero 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 JavaCopione struttura.
Ma quando si trattava di sviluppare applicazioni basate su server, cโera una sorta di vuoto, ed รจ qui che entra in gioco Node.js.
Anche Node.js รจ basato su JavaFramework di script, ma รจ utilizzato per sviluppare applicazioni basate su server. Mentre esamineremo l'intero tutorial, esamineremo Node.js in dettaglio e come possiamo utilizzarlo per sviluppare applicazioni basate su server.
๐ Scarica il PDF del tutorial di Node.js
Programma di Node.js
Nozioni di base su Node.js per principianti
| ๐ Lesssu 1 | Scarica e installa Node.js โ Come scaricare e installare Node.js e NPM su Windows |
| ๐ Lesssu 2 | Esercitazione su Node.js NPM โ Crea, pubblica, estendi e gestisci |
| ๐ Lesssu 3 | Crea un server Web HTTP in Node.js โ Tutorial con esempio di codice |
Node.js รจ roba avanzata!
| ๐ Lesssu 1 | Tutorial su Node.js Express FrameWork โ Impara in 10 minuti |
| ๐ Lesssu 2 | Node.js MongoDB Tutorial - Una guida completa con esempi |
| ๐ Lesssu 3 | Tutorial sulla promessa di Node.js - Una guida completa al JavaPromesse di sceneggiatura |
| ๐ Lesssu 4 | Tutorial sulle promesse di Bluebird - Una guida completa alle promesse di Bluebird |
| ๐ Lesssu 5 | Node.js Generators - Che cos'รจ Callback e Node.js Generators |
| ๐ Lesssu 6 | Tutorial sui flussi di Node js โ Filestream, Pipe |
| ๐ Lesssu 7 | Tutorial sullo unit test di Node.js con Jasmine โ Una guida completa |
| ๐ Lesssu 8 | Tutorial su GraphQL โ Cos'รจ GraphQL? Impara con l'esempio |
Conosci la differenza!
| ๐ Lesssu 1 | GraphQL contro REST - Qual รจ la differenza? |
| ๐ Lesssu 2 | Node.Js contro AngularJS โ Conosci la differenza |
| ๐ Lesssu 3 | Node.js vs Python - Qual รจ la differenza? |
Domande sull'intervista su Node.js e PDF tutorial
| ๐ Lesssu 1 | Domande di intervista su Node.js - Le 25 principali domande e risposte dell'intervista su Node.js |
Cos'รจ Node.js?
Node.js รจ un ambiente runtime open source e multipiattaforma utilizzato per lo sviluppo di applicazioni Web lato server. Le applicazioni Node.js sono scritte JavaLo script puรฒ essere eseguito su un'ampia gamma di sistemi operativi.
Node.js si basa su un'architettura basata sugli eventi e su un'API di input/output non bloccante progettata per ottimizzare il throughput e la scalabilitร di un'applicazione per applicazioni Web in tempo reale.
Per un lungo periodo di tempo, i framework disponibili per lo sviluppo web si basavano tutti su un modello stateless. Un modello stateless รจ quello in cui i dati generati in una sessione (come le informazioni sulle impostazioni dell'utente e sugli eventi che si sono verificati) non vengono conservati per essere utilizzati nella sessione successiva con quell'utente.
ร stato necessario fare molto lavoro per mantenere le informazioni sulla sessione tra le richieste di un utente. Ma con Node.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รฉ utilizzare Node.js?
Daremo uno sguardo al reale valore di Node.js nei prossimi capitoli, ma cos'รจ che rende questo framework cosรฌ famoso. Nel corso degli anni, la maggior parte delle richieste si รจ basata su un sistema di richiesta-risposta senza stato. In questo tipo di applicazioni, spetta allo sviluppatore garantire che sia stato implementato il codice corretto per garantire che lo stato della sessione Web venga mantenuto mentre l'utente lavora con il sistema.
Ma con le applicazioni web Node.js, ora puoi lavorare in tempo reale e avere una comunicazione bidirezionale. Lo stato viene mantenuto e sia il client che il server possono avviare la comunicazione.
Caratteristiche di Node.js
Diamo un'occhiata ad alcune delle caratteristiche principali di Node.js
- L'IO asincrono basato sugli eventi aiuta la gestione delle richieste simultanee: questo รจ probabilmente il punto di forza piรน significativo di Node.js. Questa funzionalitร significa sostanzialmente che se il Nodo riceve una richiesta per qualche operazione di Input/Output, eseguirร l'operazione in background e continuerร con l'elaborazione di altre richieste.
Questo รจ abbastanza diverso da altri linguaggi di programmazione. Un semplice esempio di ciรฒ รจ riportato nel codice seguente
var fs = require('fs');
fs.readFile("Sample.txt",function(error,data)
{
console.log("Reading Data completed");
});
- Lo snippet di codice sopra esamina la lettura di un file chiamato Sample.txt. In altri linguaggi di programmazione, la riga di elaborazione successiva avverrebbe solo dopo la lettura dell'intero file.
- Ma nel caso di Node.js la parte importante del codice da notare รจ la dichiarazione della funzione ('function(error,data)'). Questa รจ nota come funzione di callback.
- Quindi quello che succede qui รจ che l'operazione di lettura del file inizierร in background. E altre elaborazioni possono avvenire simultaneamente durante la lettura del file. Una volta completata l'operazione di lettura del file, verrร richiamata questa funzione anonima e il testo "Lettura dati completata" verrร scritto nel registro della console.
- Il nodo utilizza il V8 JavaMotore di runtime dello script, quello utilizzato da Google Chrome. Il nodo ha un wrapper sopra il file JavaMotore di script che rende il motore di runtime molto piรน veloce e quindi anche l'elaborazione delle richieste all'interno di Node diventa piรน rapida.
- Gestione di richieste simultanee โ Un'altra funzionalitร chiave di Node รจ la capacitร di gestire connessioni simultanee con un sovraccarico minimo su un singolo processo.
- La libreria Node.js utilizza JavaScript โ Questo รจ un altro aspetto importante dello sviluppo in Node.js. Una parte importante della comunitร di sviluppo รจ giร molto esperta in javascript, e quindi, lo sviluppo in Node.js diventa piรน facile per uno sviluppatore che conosce javascript.
- Esiste una comunitร attiva e vivace per il framework Node.js. Grazie alla comunitร attiva, ci sono sempre aggiornamenti chiave resi disponibili al framework. Ciรฒ aiuta a mantenere il framework sempre aggiornato con le ultime tendenze nello sviluppo web.
Chi utilizza Node.js
Node.js รจ utilizzato da molte grandi aziende. Di seguito รจ riportato un elenco di alcuni di essi.
- Paypal โ Anche molti siti allโinterno di Paypal hanno iniziato la transizione su Node.js.
- LinkedIn โ LinkedIn utilizza Node.js per potenziare il proprio Mobile I server che alimentano l'iPhone Androide prodotti Web mobile.
- Mozilla ha implementato Node.js per supportare le API del browser che ha mezzo miliardo di installazioni.
- eBay ospita il proprio servizio API HTTP in Node.js
Quando utilizzare Node.js
Node.js รจ ideale per l'utilizzo in applicazioni in tempo reale basate su eventi o streaming 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.
- Ottimo per ambienti collaborativi: รจ utile per gli ambienti che gestiscono documenti. In un ambiente di gestione dei documenti, ci saranno piรน persone che pubblicano i propri documenti e apportano modifiche costanti estraendo e archiviando i documenti. Quindi Node.js รจ utile per questi ambienti perchรฉ il ciclo di eventi in Node.js puรฒ essere attivato ogni volta che i documenti vengono modificati in un ambiente gestito da documenti.
- Server pubblicitari โ Anche in questo caso potresti avere migliaia di richieste per estrarre annunci pubblicitari dal server centrale e Node.js puรฒ essere un framework ideale per gestire questo.
- Server di streaming โ Un altro scenario ideale per utilizzare Node รจ per i server di streaming multimediale in cui i client hanno richieste di estrarre diversi contenuti multimediali da questo server.
Node.js รจ utile quando sono necessari livelli elevati di concorrenza ma meno tempo di CPU dedicato.
meglio di tutti, poichรฉ Node.js รจ basato su javascript, รจ piรน adatto quando si creano applicazioni lato client basate sullo stesso framework javascript.
Quando non utilizzare Node.js
Node.js puรฒ essere utilizzato per molte applicazioni con vari scopi. L'unico scenario in cui non deve essere utilizzato รจ quello in cui sono presenti tempi di elaborazione lunghi, richiesti dall'applicazione.
Il nodo รจ strutturato per essere a thread singolo. Se un'applicazione deve eseguire in background alcuni calcoli a lunga esecuzione, non sarร in grado di elaborare altre richieste. Come discusso in precedenza, Node.js viene utilizzato al meglio laddove l'elaborazione richiede meno tempo di CPU dedicato.
