Ci sono due cose importanti che rendono Node.js diverso dai framework server-side esistenti, dagli eventi asincroni e dall'uso di JavaScript come linguaggio di programmazione.
Eventi asincroni
Sebbene la maggior parte dei framework lato server esistenti utilizzi un'architettura sincrona, Node.js utilizza un'architettura asincrona , che JavaScript può gestire bene. Ciò significa che il server reagisce agli eventi e invia eventi (messaggi) ad es. il database. Questo stile di programmazione è molto diverso da uno stile sincrono e può essere difficile da usare con altri linguaggi. Node.js utilizza uno stile asincrono con IO asincrono e può scalare bene.
Vedi anche Event Driven Architecture
JavaScript
JavaScript è il linguaggio di programmazione utilizzato dalle applicazioni Web sul client. L'uso della stessa lingua sul lato server significa che lo sviluppatore può applicare le sue conoscenze JavaScript sia sul client che sul server e utilizzare le stesse funzioni necessarie.
Raccomando la presentazione Introduzione a Node.js con Ryan Dahl dove spiega l'evento Node.js- architettura guidata in modo più dettagliato.