nodejs javascript
NodeJs guide

Guida su NodeJs

Node.js è un ambiente di runtime per JavaScript che viene eseguito sul server. Node.js è open source, multipiattaforma e, dalla sua introduzione nel 2009, è diventato enormemente popolare e ora svolge un ruolo significativo nella scena dello sviluppo web. Se le stelle GitHub sono un fattore di indicazione della popolarità, avere 46000+ stelle significa essere molto popolari. Node.js è basato sul motore JavaScript V8 di Google Chrome ed è principalmente utilizzato per creare server Web, ma non è limitato a questo. Uno dei principali punti di forza di Node.js è la velocità. Il codice JavaScript in esecuzione su Node.js (a seconda del benchmark) può essere due volte più veloce rispetto a linguaggi compilati come C o Java e ordini di grandezza più veloce di linguaggi interpretati come Python o Ruby, a causa del suo paradigma non bloccante. .

Semplice
Node.js è semplice, realmente semplice.

JavaScript
Node.js esegue il codice JavaScript. Ciò significa che milioni di sviluppatori di frontend che già utilizzano JavaScript nel browser sono in grado di eseguire il codice lato server e il codice front-end utilizzando lo stesso linguaggio di programmazione senza la necessità di apprendere uno strumento completamente diverso.
I paradigmi sono tutti uguali, e in Node.js i nuovi standard ECMAScript possono essere utilizzati per primi, dato che non devi aspettare che tutti i tuoi utenti aggiornino i loro browser - tu decidi quale versione di ECMAScript usare cambiando il nodo. versione js.

V8
In esecuzione sul motore JavaScript di Google V8, che è Open Source, Node.js è in grado di sfruttare il lavoro di migliaia di ingegneri che hanno reso (e continueranno a farlo) il runtime di Chrome JavaScript in modo rapido.

Piattaforma Asincrona

Nei linguaggi di programmazione tradizionali (C, Java, Python, PHP) tutte le istruzioni sono bloccate per impostazione predefinita a meno che non si attivi esplicitamente "opt in" per eseguire operazioni asincrone. Se si esegue una richiesta di rete per leggere alcuni JSON, l'esecuzione di quel particolare thread viene bloccata finché la risposta non è pronta.
JavaScript consente di creare codice asincrono e non bloccante in modo molto semplice, utilizzando un singolo thread, funzioni di callback e programmazione event-driven. Ogni volta che si verifica un'operazione costosa, passiamo una funzione di callback che verrà chiamata una volta che possiamo continuare con l'elaborazione. Non stiamo aspettando che finisca prima di andare avanti con il resto del programma.
Tale meccanismo deriva dal browser. Non possiamo aspettare che qualcosa carichi da una richiesta AJAX prima di essere in grado di intercettare gli eventi click sulla pagina. Tutto deve accadere in tempo reale per fornire una buona esperienza all'utente.
Se hai creato un gestore onclick per una pagina Web, hai già utilizzato tecniche di programmazione asincrona con i listener di eventi.
Ciò consente a Node.js di gestire migliaia di connessioni simultanee con un singolo server senza introdurre il peso della gestione della concorrenza dei thread, che sarebbe una delle principali fonti di bug.
Il nodo fornisce primitive di I / O non bloccanti e, in generale, le librerie in Node.js vengono scritte utilizzando paradigmi non bloccanti, rendendo un comportamento di blocco un'eccezione piuttosto che la norma.

Quando Node.js deve eseguire un'operazione di I / O, come la lettura dalla rete, accedere a un database o al filesystem, invece di bloccare il thread Node.js semplicemente riprenderà le operazioni quando la risposta ritorna, invece di sprecare cicli di CPU in attesa.
Ecco un link per raggiungere la guida su flaviocopes.com


Falvio Copes Guide