Dilansir dari situs resminya, Node.js adalah runtime environment (RTE) atau lingkungan eksekusi untuk JavaScript yang bersifat lintas platform dan open-source sehingga memungkinkan JavaScript dapat dijalankan di luar browser.
Berikut pembedahan konsepnya secara lebih rinci.
Ketika developer menulis kode JavaScript di teks editor, kode itu tidak dapat melakukan tugas apa pun kecuali dijalankan di runtime environment.
Runtime environment sendiri berada di browser seperti Chrome dan Firefox. Itu sebabnya browser ini dapat menjalankan kode JavaScript. Sebelum Node.js dibuat, JavaScript hanya bisa berjalan di browser dan penggunaannya terbatas untuk membangun aplikasi front end saja.
Adanya Node.js memungkinkan developer menjalankan runtime environment di luar browser yang dibangun di Chrome V8 JavaScript engine. Dengan demikian, developer juga bisa membuat aplikasi back end menggunakan bahasa JavaScript.
Sementara open-source mengartikan sumber kode di Node.js tersedia untuk umum dan dikelola oleh kontributor dari seluruh dunia.
Selain itu, Node.js juga tersedia di lintas platform. Ini berarti Node.js tidak bergantung pada sistem operasi software apa pun. Node.js dapat bekerja di Linux, Mac OS, maupun Windows.
Berikut adalah istilah atau dasar-dasar Node.js yang perlu diketahui:
JavaScript adalah bahasa yang mendukung Node.js. Ini adalah object-oriented scripting yang digunakan untuk membangun halaman HTML yang interaktif di halaman web. JavaScript juga biasa digunakan dalam pengembangan game dan mobile app.
Kode yang ada di JavaScript hanya dapat dieksekusi dan dijalankan di browser web.
Node.js menampilkan beberapa modul yang bisa disimpan secara individual, sehingga tidak mengganggu modul lain yang sudah ada. Ini sangat penting untuk software yang bersifat open-source.
Modul di Node.js yang diatur ke dalam file JavaScript nantinya dapat digunakan kembali di seluruh aplikasi Node.js kapan pun dibutuhkan.
Microservices adalah individual, self-contained unit yang berfungsi dalam membangun kerja sama antar tim untuk membuat aplikasi besar. Ini bekerja dengan cara memisahkan aplikasi menjadi beberapa bagian kecil yang memudahkan pemeliharaan dan dapat diskalakan. Artinya, setiap bagian aplikasi dapat ditulis oleh anggota tim berbeda dan diuji secara paralel.
Event-driven programming adalah fitur aplikasi yang dirancang untuk merespons berbagai bentuk user engagement. Dalam konteks ini, event merupakan setiap tindakan yang dilakukan oleh user, seperti mengeklik atau menekan tombol.
Event-driven programming dipakai untuk mendeteksi tindakan tersebut dan memprosesnya menggunakan prosedur penanganan event yang sudah ditetapkan. Adanya fitur ini memberikan pengalaman pengguna yang lebih reaktif, intuitif, sekaligus menambah fleksibilitas aplikasi yang menangani permintaan secara bersamaan.
NPM atau node package manager berfungsi untuk menerbitkan, menemukan, menginstal, dan mengembangkan berbagai program node. Pada dasarnya, NPM membantu agar developer tidak perlu membuat package satu per satu secara manual ketika ada penambahan fitur aplikasi. Cukup dengan menggunakan package yang sudah ada di repository.
Event loop adalah mekanisme yang bekerja dengan cara mengantrekan dan mengirim event atau pesan dalam sebuah program. Di Node.js, event loop merupakan kontrol pusat.
Setiap kali ada permintaan yang perlu ditangani, permintaan tersebut dimasukkan ke event loop terlebih dahulu kemudian diproses di sana.
Alih-alih melakukannya sendiri, Node.js mendelegasikan tanggung jawab ke event loop untuk menangani sistem. Karenanya, Node.js tidak hanya menunggu satu tugas selesai dan dapat menangani permintaan lain untuk sementara.
Adanya event loop membuat Node.js bekerja lebih cepat dan efisien.
Dirangkum dari Geeks for Geeks, berikut proses bagaimana Node.js bekerja:
Berdasarkan Master Born, berikut beberapa contoh aplikasi yang menggunakan Node.js:
Sebagai salah satu platform besar yang digunakan untuk menonton film dan series, Netflix terus memperbaharui sistem aplikasinya. Aplikasi ini mengandalkan Node.js untuk streaming konten dalam jumlah besar ke jutaan user di seluruh dunia.
Figma adalah alat yang sangat berguna untuk desain dan pembuatan prototype UI/UX. Figma menggunakan electron, yaitu framework yang memungkinkan user dapat membuat aplikasi desktop lintas platform menggunakan Node.js.
Selain kedua aplikasi di atas, ada banyak aplikasi lain yang juga mengandalkan Node.js di sistem operasionalnya, seperti:
Meski saling berkaitan satu sama lain, namun Node.js dan JavaScript tidaklah sama.
NodeJS adalah runtime environment di mana developer bisa menjalankan script dari Javascript di sisi server. Nodejs memungkinkan kode JavaScript berjalan di luar browser.
Sementara itu, JavaScript adalah bahasa scripting untuk membangun halaman HTML yang interaktif. JavaScript hanya dapat dieksekusi dan dijalankan di browser internet. Untuk menjalankan dan mengeksekusi kode JavaScript di luar browser, developer membutuhkan Node.js.
Dirangkum dari Geeks for Geeks for Geeks, berikut perbedaan Node.js dan JavaScript: