Condividi tramite


Che cos'è NodeJS?

Node.js è un ambiente di runtime JavaScript open source, multipiattaforma e server-side basato sul motore JavaScript V8 di Chrome, originariamente creato da Ryan Dahl e rilasciato nel 2009.

Node.js funziona in Windows?

Sì. Windows supporta due ambienti diversi per lo sviluppo di app con Node.js:

Cosa è possibile fare con NodeJS?

Node.js viene usato principalmente per la creazione di applicazioni Web veloci e scalabili. Usa un modello di I/O non bloccante basato su eventi, rendendolo leggero ed efficiente. Si tratta di un framework ottimale per le applicazioni in tempo reale a elevato utilizzo di dati eseguite tra dispositivi distribuiti. Ecco alcuni esempi di ciò che è possibile creare con Node.js.

  • App a pagina singola: si tratta di app Web che funzionano all'interno di un browser e non devono ricaricare una pagina ogni volta che viene usata per ottenere nuovi dati. Alcuni esempi di applicazioni a pagina singola includono app di social networking, app di posta elettronica o di mappe, strumenti di testo o disegno online e così via.
  • app in tempo reale (RTA): si tratta di app Web che consentono agli utenti di ricevere le informazioni non appena vengono pubblicate da un autore, anziché richiedere che l'utente (o il software) controlli periodicamente la fonte per gli aggiornamenti. Alcuni esempi di RTA includono app di messaggistica istantanea o chat room, giochi multiplayer online che possono essere giocati nel browser, documenti di collaborazione online, archiviazione della comunità, app di videoconferenza e così via.
  • App di streaming dei dati: si tratta di app (o servizi) che inviano dati/contenuti man mano che arrivano (o vengono creati) mantenendo aperta la connessione per continuare a scaricare ulteriori dati, contenuti o componenti in base alle esigenze. Alcuni esempi includono app di streaming video e audio.
  • API REST: Sono interfacce che forniscono dati per consentire l'interazione con l'app Web di un altro utente. Ad esempio, un servizio API Calendario potrebbe fornire date e orari per la location di un concerto che potrebbe essere utilizzata da un sito Web di eventi locali di un altro utente.
  • app renderizzate lato server (SSR): Queste app web possono essere eseguite sia sul client (nel browser e sul front-end) che sul server (back-end), consentendo alle pagine dinamiche di visualizzare (generare HTML per) qualsiasi contenuto noto e recuperare rapidamente il contenuto non noto appena disponibile. Questi vengono spesso definiti applicazioni "isomorfiche" o "universali". Le tecniche di rendering lato server (SSR) utilizzano metodi SPA, in quanto non è necessario ricaricare ogni volta che vengono utilizzate. Tuttavia, gli SSR offrono alcuni vantaggi che potrebbero essere importanti o meno per te, come far apparire i contenuti sul tuo sito nei risultati di ricerca di Google e fornire un'immagine di anteprima quando i collegamenti alla tua app vengono condivisi sui social media come X o Facebook. Il potenziale svantaggio è che richiedono un server Node.js costantemente in esecuzione. In termini di esempi, un'app di social networking che supporta gli eventi che gli utenti desiderano visualizzare nei risultati della ricerca e nei social media può trarre vantaggio da SSR, mentre un'app di posta elettronica può funzionare bene come SPA. È anche possibile eseguire app non-SPA con rendering lato server, che possono essere simili a un blog WordPress. Come si può notare, le cose possono diventare complicate, è sufficiente decidere cosa è importante.
  • Strumenti da riga di comando: consentono di automatizzare le attività ripetitive e quindi di distribuire lo strumento nell'ampio ecosistema di Node.js. Un esempio di strumento da riga di comando è cURL, che rappresenta l'URL client e viene usato per scaricare il contenuto da un URL Internet. CURL viene spesso usato per installare elementi come Node.js o, in questo caso, un gestore delle versioni Node.js.
  • Programmazione hardware: sebbene non sia molto popolare come le app Web, Node.js sta crescendo in popolarità per gli usi di IoT, ad esempio la raccolta di dati da sensori, beacon, trasmettitori, motori o qualsiasi cosa che genera grandi quantità di dati. Node.js possibile abilitare la raccolta dei dati, l'analisi dei dati, la comunicazione tra un dispositivo e un server e l'esecuzione di azioni in base all'analisi. NPM contiene più di 80 pacchetti per controller Arduino, raspberry pi, Intel IoT Edison, vari sensori e dispositivi Bluetooth.

Passaggi successivi