Ada dua hal penting yang membuat Node.js berbeda dari kerangka sisi server yang ada, peristiwa asinkron , dan penggunaan JavaScript sebagai bahasa pemrograman.
Acara Asinkron
Sementara sebagian besar kerangka sisi server yang ada menggunakan arsitektur sinkron, Node.js menggunakan arsitektur asinkron , yang dapat ditangani dengan baik oleh JavaScript. Ini berarti bahwa server bereaksi terhadap peristiwa dan mengirim peristiwa (pesan) ke misalnya database. Gaya pemrograman ini sangat berbeda dengan gaya sinkron, dan mungkin sulit digunakan dengan bahasa lain. Node.js menggunakan gaya asinkron dengan IO asinkron dan dapat mengukur dengan baik.
Lihat juga Arsitektur Event Driven
JavaScript
JavaScript adalah bahasa pemrograman yang digunakan aplikasi web pada klien. Menggunakan bahasa yang sama di sisi server berarti bahwa pengembang dapat menerapkan pengetahuan JavaScript-nya baik pada klien dan server, dan menggunakan fungsi yang sama sesuai kebutuhan.
Saya akan merekomendasikan presentasi Pengantar Node.js dengan Ryan Dahl di mana ia menjelaskan arsitektur event-driven Node.js lebih terinci.