Assalamualaikum Warohmatulloh Wabarokatuh, Node.js adalah sebuah kata yang sudah tidak asing lagi bagi kawan – kawan yang bergelut di dunia koding. Tapi mungkin banyak juga yang salah paham, menganggap Node.js adalah sebuah bahasa pemrograman. Lalu kalau itu anggapan yang salah, yang benar apa?
Jadi sebetulnya Node.js adalah sebuah runtime environment untuk mengeksekusi kode Javascript. Pada dasarnya Node adalah program c++ yang tersemat engine V8 dari Chrome, engine Javascript tercepat di Dunia.
Sejarah Node.js
Sebelum 2009, Javascript hanya bisa berjalan di dalam web browser yang memiliki JS engine seperti Firefox dengan SpiderMonkey, Chrome dengan V8 enginenya. JS engine tersebut yang mengonversi kode Javascript ke kode mesin yang bisa dimengerti oleh komputer.
Sampai pada 2009, seorang bernama Ryan Dahl datang dengan ide brilian dia berpikir akan sangat keren untuk bisa menjalankan Javascript di luar browser. Jadi dia mengambil V8 engine milik Chrome yang menjadi engine tercepat Javascript dan menyematkannya ke dalam aplikasi c++ dan menyebut aplikasinya dengan Node.
Mirip dengan browser, Node juga merupakan runtime environment untuk kode Javascript. Tapi ada beberapa perbedaan objek yang tersedia di browser dan Node. Misal di browser kita memiliki objek document
atau window
pada Node kita tidak memiliki objek tersebut, akan tetapi ada objek lain.
document.getELementById('') // tidak tersedia di Node
// Tapi di Node ada ini
fs.readFile() // untuk file service
http.createServer() // untuk network request
Bagaimana Node Bekerja ?
Aplikasi Node itu single-threaded yang artinya satu thread digunakan untuk melayani semua klien. Aplikasi Node secara default adalah asynchronous atau non-blocking. Yang artinya ketika aplikasi sedang melakukan proses I/O (misal mengakses file system atau network), threadnya tidak menunggu hasil dari operasinya, threadnya bebas untuk melayani klien lainnya.
Dengan arsitektur tersebut Aplikasi Node sangat cocok untuk aplikasi yang banyak berurusan dengan I/O. Hindari menggunakan aplikasi Node untuk aplikasi yang menggunakan banyak CPU, misalnya service video encoding. Karena ketika mengeksekusi operasi tersebut, klien lainnya harus menunggu single thread dari Node menyelesaikan pekerjaannya dan siap disajikan.
Berikutnya kita akan buat aplikasi Node pertama kita.
Wassalamualaikum Warohmatulloh Wabarokatuh.
Tinggalkan Balasan
Anda harus masuk untuk berkomentar.