Halo, selamat datang di Ruang Developer Blog. Sejak dahulu, JavaScript banyak digunakan untuk membuat website, khususnya untuk membuat website menjadi lebih menarik seperti menambahkan efek atau animasi tertentu pada elemen HTML. Awalnya, JavaScript hanya dapat dieksekusi melalui browser (dieksekusi dari sisi client). Hingga pada tahun 2009, Ryan Dahl menciptakan Node JS (JavaScript Runtime Environment), sebuah teknologi yang dapat mengeksekusi JavaScript di luar browser.
Apa itu Node JS?
Node JS adalah sebuah platform server-side yang dibangun di atas V8 Engine (Engine Google Chrome untuk mengeksekusi JavaScript). Node JS merupakan open-source dan cross-platform javascript runtime environment untuk mengembangkan aplikasi sisi server (back-end). Dengan menggunakan Node JS, kamu dapat mengeksekusi kode JavaScript dimanapun tanpa menggunakan browser.
Saat ini banyak sekali library untuk Node JS yang telah dibuat oleh para developer untuk memudahkan prose pengembangan aplikasi back-end. Kumpulan library tersebut bisa kamu install ke dalam proyek Node JS menggunakan bantuan NPM (Node Package Manager).
Fitur penting Node JS
Berikut ini adalah beberapa fitur yang terdapat pada Node JS.
- Asynchronous & Event Driven: Semua API dari Node JS bersifat asynchronous, artinya tidak memblokir proses lain sembari menunggu satu proses selesai. Server Node JS akan melanjutkan ke ke pemanggilan API berikutnya lalu memanfaatkan mekanisme event notification untuk mendapatkan respon dari panggilan API sebelumnya.
- Fast: Eksekusi kode dengan Node JS sangat cepat karena berjalan pada V8 JavaScript Engine dari Google Chrome.
- Single Threaded but Highly Scalable: Node JS menggunakan model single thread dengan event looping. Mekanisme ini membantu server untuk merespon secara asynchronous dan menjadikan server lebih scalable dibandingkan server tradisional yang menggunakan banyak thread untuk menangani permintaan.
Node JS dibangun untuk aplikasi yang memiliki proses I/O sangat intensif seperti backend API. Node JS dapat menangani banyak request dalam satu waktu dengan sangat baik karena menggunakan proses asynchronous.
Kapan menggunakan Node JS?
Node JS cocok digunakan ketika membuat aplikasi seperti berikut:
- Proses I/O yang tinggi
- Streaming data seperti musik atau video
- Real-time
- Back-end API
- Single page Application (SPA)
Kapan tidak menggunakan Node JS?
Node JS tidak disarankan untuk digunakan pada aplikasi yang menggunakan CPU secara intensif seperti enkripsi data, atau video transcoding.