Niagahoster Blog

Pengenalan Node.js Lengkap bagi Pemula

Saat ini ada berbagai platform yang digunakan dalam pemrograman aplikasi web. Node.js adalah salah satu platform pemrograman yang memiliki performa tinggi. Agar Anda bisa mengenalnya lebih dekat, artikel ini akan menjelaskan apa itu Node.js.

Tidak hanya itu, Anda juga akan belajar cara kerja dasar dari platform tersebut, keunggulannya, serta kondisi yang membutuhkannya.

Apa Itu Node.js?

Node.js adalah platform  buatan Ryan Dahl untuk menjalankan aplikasi web berbasis JavaScript yang dikenalkan pada tahun 2009. Dengan platform ini, Anda dapat menjalankan JavaScript dari sisi server.

Untuk mendukung kemampuan tersebut, Node.js dibangun dengan engine Javascript V8 milik Google.

Di samping itu, Node.js juga memiliki pustaka server sendiri sehingga Anda tidak perlu menggunakan program server web seperti Nginx dan Apache.

Dengan model event-driven dan non-blocking I/O-nya, Node.js lebih mampu menangani banyak proses secara bersamaan daripada platform bersifat thread-based networking.

Node.js vs JavaScript

Meskipun keduanya berkaitan, Node.js dan JavaScript adalah dua hal yang berbeda. Mari kita mulai dari pemahaman tentang JavaScript.

JavaScript adalah bahasa pemrograman yang digunakan bersamaan dengan HTML dan CSS untuk menciptakan halaman website yang bersifat interaktif. HTML menghasilkan struktur dan tampilan teks, sedangkan CSS bertanggung jawab atas tampilan grafis sebuah halaman. Nah, JavaScript berkontribusi atas animasi dan konten-konten interaktif yang ada di dalamnya.

Eksekusi kode JavaScript bergantung pada engine yang ada pada browser. Oleh karena itu, Ia disematkan pada kode HTML. Inilah alasan mengapa JavaScript disebut bahasa pemrograman yang bekerja pada sisi client.

Node.js, di sisi lain, merupakan platform untuk menjalankan kode JavaScript pada sisi server. Ia bertugas untuk mengeksekusi kode JavaScript sebelum halaman website ditampilkan di browser. Dengan demikian, Node.js dapat menjalankan situs, aplikasi web, dan game berbasis browser dengan performa tinggi. 

Arsitektur Node.js

Node.js memiliki dua komponen utama, yaitu engine JavaScript V8 Google dan Libuv Library. Selain itu, platform tersebut menggunakan dua design pattern: object pool dan facade. Berikut adalah penjelasan singkat atas masing-masing komponen.

1. Engine V8

Engine V8 milik Google adalah sebuah compiler JavaScript yang dibuat menggunakan bahasa pemrograman C++. Dengan komponen ini, input berupa kode JavaScript dapat di-compile menjadi kode dalam tingkat assembly. V8 sendiri terdiri dari tiga komponen:

2. Libuv library

Library C++ ini bertugas mengelola operasi asynchronous I/O (input/output) di Node.js dan main event loop. Di dalamnya juga terdapat thread pool reserve yang menangani thread setiap operasi I/O.

3. Design pattern

Ada dua jenis design pattern yang digunakan oleh Node.js, yaitu object pool dan facade. Berikut penjelasannya:

Bagaimana Cara Kerja Node.js?

Node.js bekerja dengan konsep non-blocking dan single-threaded. Untuk memahami maksud dari kedua konsep tersebut, simaklah penjelasan pada bagian ini.

Sebut saja program A sebagai contoh. Program ini bekerja dengan konsep blocking dan multi-threaded. Dalam kinerjanya, algoritma program A terdiri dari beberapa proses. Oleh karena sifat blocking-nya, algoritma program tersebut tidak akan berlanjut ketika satu proses belum diselesaikan.

Di sisi lain ada program B yang bersifat non-blocking dan single-threaded. Program B dan A memiliki algoritma yang sama. Akan tetapi, kinerja program B tidak akan berhenti pada satu proses jika proses selanjutnya tidak memerlukan output proses sebelumnya. Inilah yang dimaksud dengan konsep non-blocking.

Selain itu, program B hanya mengalokasikan thread pada proses yang aktif. Pada program A, thread diberikan kepada semua proses, baik yang aktif maupun yang belum.

Dengan melihat konteks tersebut, Anda dapat memahami bahwa program B yang bersifat non-blocking dan single-threaded dapat bekerja lebih efisien dan tidak menggunakan resource yang besar dibandingkan program A.

Apa Saja Keunggulan Node.js?

Berikut adalah alasan mengapa Node.js sering digunakan oleh programmer backend.

Untuk Apa Penggunaan Node.js?

Pada tahap ini, setidaknya Anda sudah mengenal dasar-dasar dari Node.js. Akan tetapi, untuk pemrograman apakah penggunaan platform ini dianjurkan? Berikut adalah beberapa di antaranya:

Contoh Website dan Aplikasi yang Menggunakan Node.js

Di atas Anda telah dijelaskan tentang jenis aplikasi yang menggunakan Node.js. Nah, ini adalah dua situs dan satu aplikasi yang dikenal secara umum, namun Anda mungkin belum tahu bahwa mereka berjalan dengan Node.js:

Baca juga: Cara Install Node.js dan NPM di Ubuntu 18.04

Penutup

Node.js adalah platform yang sering digunakan dalam pengembangan aplikasi web karena efisiensinya dalam mengelola data.

Semoga artikel ini berguna bagi Anda. Jika memiliki pertanyaan, jangan sungkan untuk meninggalkan komentar pada kolom di bawah ini.