Nodo.JS (Node.JS)

Node.js è un runtime JavaScript multipiattaforma open source che viene eseguito sui server. Dalla sua uscita nel 2009, questa piattaforma è diventata estremamente popolare e svolge un ruolo molto importante nel campo dello sviluppo web in questi giorni.
Per l'articolo completo su Node.JS ...

Mostra filtro
Filtri di hosting
A2 Themes & Host Me Filter

Sistema operativo

Spazio sul disco

Memoria RAM

Tipo di disco

Core della CPU

Ordinare

Punteggio: 0
RedSwitches Logo
RedSwitches

RedSwitches

Pearl
$6.94 /Mensile


Posizioni dei server


RedSwitches Servers in NetherlandsOlanda RedSwitches Servers in Unionstati Uniti RedSwitches Servers in MelbourneAustralia RedSwitches Servers in MumbaiIndia RedSwitches Servers in GermanyGermania
Confrontare
Punteggio: 0
Hostarina Logo
Hostarina

Hostarina

Personal
$2.92 /Mensile


Posizioni dei server


Hostarina Servers in Unionstati Uniti Hostarina Servers in RawalpindiPakistan Hostarina Servers in MunichGermania
Confrontare
Punteggio: 0
Net9 Oy Logo
Net9 Oy

Net9 Oy

Small
$1.13 /Mensile


Posizioni dei server


Net9 Oy Servers in StockholmSvezia Net9 Oy Servers in HelsinkiFinlandia Net9 Oy Servers in ParisFrancia
Confrontare
Punteggio: 0
Heroku Logo
Heroku

Heroku

Hobby
$7 /Mensile


Posizioni dei server


Heroku Servers in United Statesstati Uniti
Confrontare
Punteggio: 0
Awareindia.net Logo
Awareindia.net

Awareindia.net

Linux Hosting Plan G
$5.83 /Mensile

Confrontare
Punteggio: 0
Chemi Cloud Logo
Chemi Cloud

Chemi Cloud

Ionic
$2.95 /Mensile


Posizioni dei server


Chemi Cloud Servers in BangaloreIndia Chemi Cloud Servers in New Yorkstati Uniti Chemi Cloud Servers in BucharestRomania Chemi Cloud Servers in LondonRegno Unito Chemi Cloud Servers in AmsterdamOlanda Chemi Cloud Servers in TorontoCanada Chemi Cloud Servers in SydneyAustralia
Confrontare
Punteggio: 0
Oudel Logo
Oudel

Oudel

cPanel Hosting 1
$5.95 /Mensile


Posizioni dei server


Oudel Servers in Unionstati Uniti
Confrontare

 

Node.js

 

 

Node.js è un runtime JavaScript multipiattaforma open source che viene eseguito sui server. Dalla sua uscita nel 2009, questa piattaforma è diventata estremamente popolare e svolge un ruolo molto importante nel campo dello sviluppo web in questi giorni. Se consideriamo il numero di stelle che un progetto ha raccolto su GitHub come indicatore di popolarità, Node.js, che ha più di 50.000 stelle, è un progetto molto, molto popolare.

 

La piattaforma Node.js è basata sul motore JavaScript V8 di Google, che viene utilizzato nel browser Google Chrome. Questa piattaforma viene utilizzata principalmente per creare server Web, ma il suo ambito non si limita a questo.

 

Diamo un'occhiata alle caratteristiche principali di Node.js.

 

Velocità

 

Una delle principali attrazioni di Node.js è la velocità. Il codice JavaScript eseguito in Node.js può essere due volte più veloce del codice scritto in linguaggi compilati come C o Java e ordini di grandezza più veloci dei linguaggi interpretati come Python o Ruby. La ragione di ciò è l'architettura non bloccante della piattaforma, ei risultati specifici dipendono dai benchmark utilizzati, ma nel complesso Node.js è una piattaforma molto veloce.

 

Semplicità

 

La piattaforma Node.js è facile da imparare e da usare. In effetti, è decisamente molto semplice, soprattutto se paragonato ad altre piattaforme server.

 

JavaScript

 

JavaScript viene eseguito nell'ambiente Node.js. Ciò significa che milioni di sviluppatori front-end che già utilizzano JavaScript nel browser possono scrivere codice lato server e lato client nello stesso linguaggio di programmazione senza dover apprendere uno strumento completamente nuovo per passare allo sviluppo lato server.

 

Il browser e il server utilizzano gli stessi concetti di linguaggio. Inoltre, Node.js può passare rapidamente ai nuovi standard ECMAScript man mano che vengono implementati sulla piattaforma.

 

Non è necessario attendere che gli utenti aggiornino i propri browser poiché Node.js è un ambiente lato server che è completamente sotto il controllo dello sviluppatore. Di conseguenza, le nuove funzionalità della lingua diventano disponibili quando installi una versione di supporto di Node.js.

 

Motore V8

 

Il cuore di Node.js, tra le altre soluzioni, è il motore JavaScript V8 open source di Google, utilizzato in Google Chrome e altri browser. Ciò significa che Node.js si avvale di migliaia di ingegneri che hanno reso il runtime di JavaScript Chrome incredibilmente veloce e continuano a lavorare per migliorare V8.

 

Asincronia

 

Nei linguaggi di programmazione tradizionali (C, Java, Python, PHP), tutte le istruzioni si bloccano per impostazione predefinita, a meno che lo sviluppatore non si occupi esplicitamente di eseguire il codice in modo asincrono. Di conseguenza, se, ad esempio, in un tale ambiente, si effettua una richiesta di rete per scaricare del codice JSON, l'esecuzione del flusso da cui viene effettuata la richiesta verrà sospesa fino a quando la risposta non sarà ricevuta ed elaborata.

 

JavaScript rende molto più facile scrivere codice asincrono e non bloccante utilizzando un singolo thread, callback e un approccio allo sviluppo basato sugli eventi. Ogni volta che dobbiamo eseguire un'operazione pesante, passiamo una richiamata al meccanismo appropriato, che verrà chiamato immediatamente dopo il completamento di questa operazione. Di conseguenza, non è necessario attendere i risultati di tali operazioni affinché il programma continui a funzionare.

 

Un meccanismo simile è nato nei browser. Non possiamo permetterci di aspettare, diciamo, per unAJAXrichiesta di terminare senza essere in grado di rispondere alle azioni dell'utente, come i clic sui pulsanti. Per rendere comodo agli utenti il ​​lavoro con le pagine web, tutto, sia il download dei dati dalla rete che l'elaborazione dei clic sui pulsanti, deve avvenire simultaneamente, in tempo reale.

 

Se hai mai creato un gestore di eventi clic sul pulsante, hai già utilizzato tecniche di programmazione asincrona.

 

I meccanismi asincroni consentono a un singolo server Node.js di gestire contemporaneamente migliaia di connessioni senza gravare sul programmatore con la gestione dei thread e le attività di esecuzione del codice in parallelo. Tali cose sono spesso fonte di errore.

 

Node.js fornisce allo sviluppatore meccanismi di I / O di base non bloccanti e, in generale, le librerie utilizzate nel framework Node.js sono scritte utilizzando paradigmi non bloccanti.Ciò rende il comportamento di blocco l'eccezione piuttosto che la norma.

 

Quando Node.js deve eseguire un'operazione di I / O, come caricare dati dalla rete, accedere a un database o al file system, invece di bloccare il thread principale in attesa dei risultati di tale operazione, Node.js avvierà il suo esecuzione e continuare a fare altre cose fino a quando non vengono ricevuti i risultati di questa operazione.

 

Biblioteche

 

Con la facilità e la comodità di lavorare con un gestore di pacchetti per Node.js chiamato npm, l'ecosistema Node.js è fiorente. Ora ci sono oltre mezzo milione di pacchetti open source nel registro npm che qualsiasi sviluppatore Node.js può utilizzare liberamente.

 

Dopo aver esaminato alcune delle caratteristiche principali della piattaforma Node.js, proviamola in azione. Cominciamo con l'installazione.

 

 

Node.js

 

 

Installazione di Node.js

 

Node.js può essere installato in diversi modi, che tratteremo tra poco. Quindi, è possibile trovare i pacchetti di installazione ufficiali per tutte le principali piattaforme.

 

Esiste un altro modo molto conveniente per installare Node.js, ovvero utilizzare il gestore di pacchetti fornito nel sistema operativo. Ad esempio, il gestore di pacchetti macOS, che è lo standard de facto in quest'area, si chiama Homebrew.

 

Se ne hai uno sul tuo sistema, puoi installare Node.js eseguendo questo comando sulla riga di comando:

 

brew install node

 

Un elenco di gestori di pacchetti per altri sistemi operativi, inclusi Linux e Windows, può essere trovato qui.

 

Un popolare gestore di versioni di Node.js è nvm. Questo strumento ti consente di passare comodamente tra le diverse versioni di Node.js, con il suo aiuto puoi, ad esempio, installare e provare una nuova versione di Node.js e quindi, se necessario, ripristinare quella vecchia. Nvm è utile anche in una situazione in cui è necessario testare del codice su una vecchia versione di Node.js.

 

Per i principianti utilizzare gli installatori ufficiali di Node.js. Per gli utenti macOS, si consiglia di installare Node.js utilizzando Homebrew. Ora che hai installato Node.js, è il momento di scrivere "Hello World".

 

Prima applicazione Node.js.

 

L'esempio più comune di una prima applicazione Node.js è un semplice server web. Ecco il suo codice:

const http = require ('http')

const hostname = '127.0.0.1'

porta const = 3000

const server = http.createServer ((req, res) = & gt; {

res.statusCode = 200

res.setHeader ('Content-Type', 'text / plain')

res.end ('Hello World \ n')

})

server.listen (porta, nome host, () = & gt; {

console.log (`Server in esecuzione su http: // $ {hostname}: $ {port} /`)

})

 

Per eseguire questo codice, salvarlo in un file server.js ed eseguire il seguente comando nel terminale:

 

node server.js

 

Per controllare il server, aprire un browser e inserire nella barra degli indirizzi http://127.0.0.1:3000, ovvero l'indirizzo del server che verrà visualizzato nella console dopo il suo avvio riuscito. Se tutto funziona come dovrebbe, la pagina mostrerà "Hello World".

 

Diamo un'occhiata a questo esempio.

 

Innanzitutto, nota che il codice contiene il comando per connettere il modulo HTTP.

 

La piattaforma Node.js ha un eccellente set standard di moduli, che include meccanismi ben sviluppati per lavorare con la rete.

Il metodo dell'oggetto createServer () http crea un nuovo server HTTP e lo restituisce.

 

Il server è configurato per ascoltare su una porta specifica su un host specifico. Quando il server è pronto, viene chiamata la richiamata corrispondente, informandoci che il server è in esecuzione.

Quando il server riceve una richiesta, viene generato un evento richiesta che fornisce due oggetti. La prima è la richiesta (req, l'oggetto http.IncomingMessage), la seconda è la risposta (res, l'oggetto http.ServerResponse). Sono i meccanismi più importanti per la gestione delle richieste HTTP.

 

Il primo ci fornisce le informazioni sulla richiesta. Nel nostro semplice esempio, non utilizziamo questi dati, ma, se necessario, utilizzando l'oggetto, req è possibile accedere alle intestazioni della richiesta e ai dati in esso passati.

 

Il secondo è necessario per formare e inviare una risposta a una richiesta.

 

In questo caso, formiamo la risposta alla richiesta come segue. Innanzitutto, impostiamo il codice di stato della proprietà su un valore di 200, che indica un'operazione riuscita:

 

res.statusCode = 200

Successivamente, impostiamo il titolo Content-Type:

res.setHeader ('Content-Type', 'text / plain')

Completiamo quindi la preparazione della risposta aggiungendo il suo contenuto come argomento al metodo end ():

res.end ('Hello World \ n')

 

Abbiamo già accennato al fatto che attorno alla piattaforma Node.js si è formato un potente ecosistema. Parliamo ora di alcuni framework popolari e strumenti di supporto per Node.js.

 

Framework e strumenti di supporto per Node.js

 

Node.js è una piattaforma di basso livello. Per semplificare lo sviluppo e rendere la vita più facile ai programmatori, è stato creato un numero enorme di librerie. Alcuni di loro sono diventati molto popolari nel tempo. Ecco un piccolo elenco di librerie che penso siano ben fatte e che vale la pena esplorare:

 

Esprimere: Questa libreria fornisce allo sviluppatore uno strumento estremamente semplice ma potente per la creazione di server web. La chiave del successo di Express è stata un approccio minimalista e un focus sui meccanismi di base lato server senza cercare di imporre una visione di architettura server "one-stop".

 

Meteora: È un potente framework full-stack che adotta un approccio isomorfico per sviluppare applicazioni JavaScript e utilizzare codice sia sul client che sul server. Once Meteor era uno strumento autonomo che include tutto ciò di cui uno sviluppatore potrebbe aver bisogno. Ora si integra anche con le librerie di frontend come React, Vue e Angular. Meteor, oltre a sviluppare applicazioni web comuni, può essere utilizzato anche nello sviluppo mobile.

 

Koa: Questo framework Web è stato creato dallo stesso team di Express. Basandosi su anni di esperienza con Express, è stato sviluppato con particolare attenzione alla semplicità e alla compattezza. Questo progetto è nato come soluzione al problema di apportare modifiche importanti a Express che sono incompatibili con altri meccanismi di framework che potrebbero dividere la comunità.

 

Next.js: Questo framework è progettato per organizzare il rendering lato server delle applicazioni React.

 

Micro: È una libreria molto leggera per la creazione di microservizi HTTP asincroni.

Socket.io. È una libreria per lo sviluppo di applicazioni di rete in tempo reale.

 

In effetti, nell'ecosistema Node.js, puoi trovare una libreria di supporto per quasi tutte le attività. Come puoi immaginare, ci vuole molto tempo per costruire un tale ecosistema. La piattaforma Node.js è apparsa nel 2009. Durante la sua esistenza, sono successe molte cose che dovrebbero essere note a un programmatore che vuole imparare questa piattaforma.

 

Una breve storia di Node.js

 

Node.js compie 9 anni quest'anno. Questo, ovviamente, non è tanto quando si confronta questa età con l'età di JavaScript, che ha già 23 anni, o con l'età di 25 anni del web come la conosciamo se conti dall'avvento del Mosaico browser.

 

9 anni sono poco per la tecnologia, ma ora sembra che la piattaforma Node.js sia sempre esistita.

 

Con Node.js dalle prime versioni della piattaforma quando aveva solo 2 anni. Anche allora, nonostante il fatto che non ci fossero così tante informazioni su Node.js, si poteva già sentire che Node.js è molto serio.

 

Ora parliamo delle tecnologie alla base di Node.js e diamo una rapida occhiata al fileprincipali sviluppi relativi a questa piattaforma.

 

Quindi JavaScript è un linguaggio di programmazione che è stato creato in Netscape come linguaggio di scripting per la manipolazione delle pagine web nel browser Netscape Navigator.

Parte dell'attività di Netscape consisteva nella vendita di server web, che includeva un ambiente chiamato Netscape LiveWire. Ti ha permesso di creare pagine web dinamiche utilizzando JavaScript lato server.

 

l'idea di utilizzare JS per lo sviluppo lato server è molto più vecchia di Node.js. Questa idea è vecchia quasi quanto JavaScript stesso, ma all'epoca in questione, il JS lato server non era popolare.

 

Uno dei fattori chiave che ha reso la piattaforma Node.js così diffusa e popolare è stato quando è apparso per la prima volta. Quindi, alcuni anni prima, JavaScript aveva iniziato a essere considerato un linguaggio serio. Ciò è avvenuto grazie ad applicazioni Web 2.0 come Google Maps o Gmail, che hanno mostrato al mondo la potenza delle moderne tecnologie web.

 

Grazie alla guerra competitiva dei browser, che continua ancora oggi, le prestazioni dei motori JavaScript sono notevolmente aumentate. I team di sviluppo dietro i principali browser lavorano ogni giorno per migliorare le prestazioni delle loro soluzioni, il che ha un effetto benefico su JavaScript in generale.

 

Uno di questi motori è il già citato V8, utilizzato nel browser Chrome e utilizzato in Node.js. È uno dei risultati degli sviluppatori di browser che cercano di ottenere codice JavaScript ad alte prestazioni.

 

Ovviamente la popolarità di Node.js non si basa solo su una fortunata coincidenza e sul fatto che la piattaforma sia nata al momento giusto. Ha presentato al mondo un approccio innovativo allo sviluppo di JavaScript lato server. Diamo un'occhiata alle principali pietre miliari nella storia di Node.js.

 

2009


  • L'emergere di Node.js

  • Realizzare la prima variante npm.

 

2010

  • L'apparizione di Express.

  • L'emergere di Socket.io.

 

2011


  • Versione 1.0 di Npm.

  • Grandi aziende come LinkedIn e Uber hanno iniziato a utilizzare Node.js.

 

2012


  • Il rapido aumento della popolarità di Node.js.

 

2013


  • L'emergere di Ghost, la prima grande piattaforma per le pubblicazioni che utilizza Node.js.

  • Rilascio di Koa.

 

2014


  • Quest'anno si sono verificati eventi drammatici. È apparso il progetto IO.js, che è un fork di Node.js, il cui scopo, tra le altre cose, era introdurre il supporto ES6 e accelerare lo sviluppo della piattaforma.

 

2015


  • Viene fondata la Fondazione Node.js.

  • Unione di IO.js e Node.js.

  • In npm diventa possibile lavorare con moduli privati.

  • Resa Node.js 4 (va notato che le versioni 1, 2 e 3 della piattaforma non lo erano).

 

2016


  • Incidente del pacchetto del pad sinistro.

  • L'emergere di Yarn.

  • Versione di Node.js 6.

 

2017


  • Npm sta iniziando a prestare maggiore attenzione alla sicurezza.

  • Versione Node.js 8

  • L'emergere del supporto per HTTP / 2.

  • V8 è ufficialmente riconosciuto come motore JS progettato non solo per Chrome ma anche per Node.

  • Ci sono 3 miliardi di download npm ogni settimana.

 

2018


  • Versione di Node.js 10.

  • Supporto per moduli ES.

  • Supporto sperimentale di mjs.