Hay dos cosas importantes que hacen que Node.js sea diferente a los marcos existentes del lado del servidor, los eventos asincrónicos y el uso de JavaScript como lenguaje de programación.
Eventos asincrónicos
Si bien la mayoría de los marcos del lado del servidor existentes usan una arquitectura síncrona, Node.js usa una arquitectura asíncrona , que JavaScript puede manejar bien. Esto significa que el servidor reacciona a los eventos y envía eventos (mensajes) a, por ejemplo, la base de datos. Este estilo de programación es muy diferente a un estilo síncrono, y puede ser difícil de usar con otros lenguajes. Node.js emplea un estilo asincrónico con E / S asincrónica y puede escalar bien.
Ver también Arquitectura dirigida por eventos
JavaScript
JavaScript es el lenguaje de programación que las aplicaciones web utilizan en el cliente. Usar el mismo lenguaje en el lado del servidor significa que el desarrollador puede aplicar su conocimiento de JavaScript tanto en el cliente como en el servidor, y usar las mismas funciones según sea necesario.
Recomendaría la presentación Introducción a Node.js con Ryan Dahl donde explica la arquitectura basada en eventos de Node.js con más detalle.