📢 Nuovo Corso Laravel API disponibile!

Differenze tra Node JS e il Browser

Sia il browser che Node.js utilizzano JavaScript come linguaggio di programmazione. Costruire app che girano nel browser è completamente diverso dalla creazione di un’applicazione Node.js. Nonostante sia sempre JavaScript, ci sono alcune differenze chiave che rendono radicalmente diversa l’esperienza.

Dal punto di vista di un sviluppatore frontend che utilizza ampiamente JavaScript, le app Node.js offrono un enorme vantaggio: il comfort di programmare tutto - il frontend e il backend - in un unico linguaggio.

Hai una grande opportunità perché sappiamo quanto sia difficile imparare completamente e approfonditamente un linguaggio di programmazione, e utilizzando lo stesso linguaggio per svolgere tutto il lavoro sul web - sia sul client che sul server, ti trovi in una posizione unica di vantaggio.

Nel browser, nella maggior parte dei casi, stai interagendo con il DOM o con altre API della piattaforma Web come i Cookie. Questi non esistono in Node.js, ovviamente. Non hai document, window e tutti gli altri oggetti forniti dal browser.

E nel browser, non abbiamo tutte le belle API che Node.js fornisce attraverso i suoi moduli, come la funzionalità di accesso al filesystem.

Un’altra grande differenza è che in Node.js controlli l’ambiente. A meno che tu non stia costruendo un’applicazione open source che chiunque può distribuire ovunque, sai quale versione di Node.js verrà utilizzata per eseguire l’applicazione. Rispetto all’ambiente del browser, dove non hai il lusso di scegliere quale browser utilizzeranno i tuoi visitatori, questo è molto conveniente.

Ciò significa che puoi scrivere tutto il moderno JavaScript ES2015+ che la tua versione di Node.js supporta. Poiché JavaScript si muove così velocemente, ma i browser possono essere un po’ lenti nell’aggiornamento, a volte sul web sei costretto a utilizzare versioni più vecchie di JavaScript / ECMAScript. Puoi utilizzare Babel per trasformare il tuo codice in modo che sia compatibile con ES5 prima di inviarlo al browser, ma in Node.js, non ne avrai bisogno.

Un’altra differenza è che Node.js supporta sia i sistemi di moduli CommonJS che ES (a partire da Node.js v12), mentre nel browser stiamo iniziando a vedere l’implementazione dello standard ES Modules.

In pratica, ciò significa che puoi utilizzare sia require() che import in Node.js, mentre sei limitato a import nel browser.