Node.js adalah enviroment / runtime JavaScript open-source dan cros platform. Node.js adalah alat yang populer untuk hampir semua jenis proyek.
Node.js menjalankan mesin JavaScript V8, inti dari Google Chrome, di luar peramban. Ini memungkinkan Node.js menjadi sangat berkinerja.
Aplikasi Node.js dijalankan dalam satu proses, tanpa membuat utas baru untuk setiap permintaan. Node.js menyediakan sekumpulan primitif I / O asinkron di pustaka standarnya yang mencegah kode JavaScript dari pemblokiran dan umumnya, pustaka di Node.js ditulis menggunakan paradigma non-pemblokiran, menjadikan perilaku pemblokiran sebagai pengecualian daripada norma.
Ketika Node.js melakukan operasi I / O, seperti membaca dari jaringan, mengakses database atau sistem file, alih-alih memblokir utas dan membuang-buang siklus CPU yang menunggu, Node.js akan melanjutkan operasi ketika responsnya kembali.
Hal ini memungkinkan Node.js menangani ribuan koneksi serentak dengan satu server tanpa menimbulkan beban pengelolaan konkurensi utas, yang dapat menjadi sumber bug yang signifikan.
Node.js memiliki keunggulan unik karena jutaan pengembang frontend yang menulis JavaScript untuk browser sekarang dapat menulis kode sisi server selain kode sisi klien tanpa perlu mempelajari bahasa yang sama sekali berbeda.
Di Node.js, standar ECMAScript baru dapat digunakan tanpa masalah, karena Anda tidak perlu menunggu semua pengguna memperbarui browser mereka – Anda bertanggung jawab untuk memutuskan versi ECMAScript mana yang akan digunakan dengan mengubah versi Node.js, dan Anda juga dapat mengaktifkan fitur eksperimental tertentu dengan menjalankan Node.js dengan tanda.