Node.js es un intérprete de Javascript que funciona en el lado del servidor y cambia completamente cómo debería funcionar. Utiliza un modelo de operaciones orientado a eventos y sin bloqueo, lo que lo hace ligero y eficiente.
Los usuarios de Node.js están libres de preocuparse por el bloqueo del proceso, ya que no existe. Casi ninguna función en Node.js realiza I/O directamente, por lo que el proceso nunca se bloquea. Por ello, es muy propicio desarrollar sistemas escalables en Node.js.
El ecosistema de paquetes Node.js, npm, es el ecosistema de bibliotecas de código abierto más grande del mundo. Se basa en el motor Google Javascript V8, diseñado para ejecutarse en un navegador y ejecutar rápidamente el código Javascript.
Node.js es similar en diseño y está influenciado por sistemas como Event Machine de Ruby y Twisted de Python. Pero Node.js lleva el modelo de eventos un poco más allá. Incluye un bucle de eventos como runtime de ejecución en lugar de una biblioteca.