Є дві важливі речі, які відрізняють Node.js від існуючих на сервері каркасів, асинхронних подій та використання JavaScript як мови програмування.
Асинхронні події
Хоча більшість існуючих рамок на стороні сервера використовують синхронну архітектуру, Node.js використовує асинхронну архітектуру, з якою JavaScript може добре працювати. Це означає, що сервер реагує на події та посилає події (повідомлення), наприклад, до бази даних. Цей стиль програмування сильно відрізняється від синхронного стилю і може бути важким для використання з іншими мовами. Node.js використовує асинхронний стиль з асинхронним IO і може добре масштабувати.
Див. Також Архітектура, керована подіями
JavaScript
JavaScript - це мова програмування, яку веб-додатки використовують на клієнті. Використання тієї ж мови на стороні сервера означає, що розробник може застосовувати свої знання JavaScript як на клієнті, так і на сервері, а також використовувати ті самі функції, що і потрібно.
Я б рекомендував презентацію Вступ до Node.js з Райаном Далом, де він детальніше пояснює архітектуру, керовану подіями Node.js.