Node.js adalah pengembangan server-side JavaScript pertama yang bekerja secara cross-platform, sehingga dapat bekerja dengan baik di Windows, iOS, Linux, dan sebagainya.
Dengan mengusung server side JavaScript, Node.js dapat digunakan untuk mengembangkan website yang dinamis. Jadi, operasi input-output dapat dilakukan secara asynchronous. Artinya, program bisa berjalan secara bersamaan tanpa harus menunggu proses antrian.
Tak heran, Node.js sangat populer untuk membuat program aplikasi seperti, aplikasi I/O, aplikasi data streaming, aplikasi data intensive real (DIRT), aplikasi berbasis JSON API, aplikasi single page. Salah satu contoh website terkenal yang menggunakan Node.js adalah Medium. web app medium yang dibangun dengan node js
Fitur-Fitur Node.js:
- Engine V8 – Compiler JavaScript milik Google yang dibuat menggunakan bahasa pemrograman C++ untuk meng-compile kode JavaScript menjadi kode dalam dalam tingkat assembly.
- Libuv Library – Library C++ yang bertugas mengelola operasi asynchronous I/O (input/output) di Node.js dan main event loop.
- Design Pattern – Object pool (kumpulan objek yang dapat digunakan untuk task tertentu) dan Facade (memberikan tampilan antarmuka untuk body kode).
- Asynchronous Process – Proses jalannya program bisa dilakukan secara bersamaan tanpa harus menunggu proses antrian.
Kelebihan Node.js:
- Cepat, karena dibangun di atas mesin V8 JavaScript oleh Google Chrome, Node.js library dapat melakukan eksekusi kode dengan cepat.
- Semua API bersifat asynchronous sehingga server tidak perlu menunggu API mengirimkan kembali data.
- Bersifat non-blocking, proses yang tidak membutuhkan output dari proses sebelumnya tetap dapat berjalan bersamaan.
- Tidak ada data buffering, pengalokasian sebagian porsi penyimpanan server untuk data yang sedang diproses.
- Menggunakan database NoSQL, sehingga lebih mudah dikelola dan dapat menggunakan aplikasi MongoDB dan CouchDB karena mendukung JavaScript.
- Memiliki banyak library yang powerful.
- Full-stack dari HTTP server sampai templating engine.
- Bahasa pemrograman yang sama di sisi client dan server.
Kekurangan Node.js:
- API tidak stabil.
- Memiliki banyak update, sehingga dapat mempengaruhi kompatibilitasnya dengan berbagai perangkat.
- Perlu menyesuaikan codebase secara berkala setiap muncul versi terbaru.
- Baca juga: Panduan Lengkap Cara Setting Node.js di cPanel
Tentang Penulis
TAUFIK KURNIALENSYA S.Kom, M.Kom
Penulis — Universitas STEKOM
Penulis aktif yang berfokus pada isu-isu akademik, teknologi pendidikan, dan pengembangan sumber daya manusia di lingkungan kampus.