Mengenal Node.js bagi pemula
Node.js merupakan sebuah perangkat lunak yang dibuat diatas JavaScript Runtime-nya Chrome. Fungsinya yaitu untuk mengembangkan aplikasi pada web yang ditulis menggunakan bahasa pemograman JavaScript dan dipergunakan pada sisi client yang merupakan browser seperti PHP, Ruby, Perl dan lain sebagainya. Selain itu, Node.js juga dapat berjalan di sistem operasi Windows, Mac OS X dan Linux tanpa adanya perubahan kode program.
Penggunaan JavaScript sebagai bahasa server, memerlukan engine yang cepat dan memiliki performansi yang bagus. Untuk medukung kemampuan tersebut, Node.js dibangun dengan engine JavaScript V8 yang dimiliki oleh google.
Perbedaan Node.js dan JavaScript?
Apa sih perbedaan dari keduanya?
Ya, meskipun saling berkaitan, tetapi keduanya merupakan dua hal yang berbeda.
JavaScript merupakan bahasa pemograman yang penggunaannya bersamaan dengan HTML dan CSS dengan tujuan untuk menciptakan halaman website yang bersifat interaktif. Kode JavaScript tergantung pada engine browser, sehingga disematkan pada kode HTML yang disebut bahasa pemrograman yang bekerja pada sisi client.
Node.js merupakan platform yang bertugas untuk menjalankan kode JavaScript di sisi server. Berfungsi untuk mengeksekusi kode JavaScript sebelum halaman website ditampilkan di browser, sehingga dapat menjalankan situs, aplikasi web dan game yang berbasis browser dengan peforma tinggi.
Bagaimana cara kerja Node.js?
Berbeda dengan bahasa pemrograman sisi server pada umumnya yang bersifat blocking. Node.js bekerja dengan konsep non-blocking dan single-threaded. Blocking merupakan suatu kode pemrograman yang akan dijalankan hingga selesai dan beralih ke kode berikutnya. Jika kita menggunakan bahasa pemrograman blocking yang sifatnya multi-thread, pada saat program mengambil data dari database selama waktu tertentu pada satu thread, maka thread lain yang telah disiapkan untuk menulis data dari database ke dalam bentuk HTML tidak akan dijalankan hingga thread sebelumnya mengembalikan data. Ini merupakan bentuk dari single-threadnya melakukan dengan cara berbeda. Node.js hanya akan membuat thread apabila ada event yang membutuhkan.
Contohnya yaitu misal ada program (x) yang bekerja dengan konsep blocking dan multi threaded dan algoritma program (x) terdiri dari beberapa proses, sehingga algoritma program tersebut tidak akan berlanjut jika proses belum selesai karena bersifat blocking.
Sedangkan pada program (y) yang bersifat non-blocking dan single-threaded, tidak akan berhenti pada satu proses apabila proses selanjutnya tidak memerlukan output proses sebelumnya dan ini yang dimaksud konsep non-blocking.
Sehingga, dapat disimpulkan bahwa program (y) bekerja lebih efisien dan tidak memerlukan resource yang besar.
Kelebihan pemakaian Node.js
- Menggunakan bahasa pemrograman JavaScript yang merupakan bahasa paling dikenal masyarakat dan paling populer
- Bersifat Non-blocking, Node.js tidak membutuhkan output dari proses sebelumnya dan dapat berjalan bersamaan
- Digunakan untuk membuat aplikasi real-time
- Memakai V8 yang mengikuti perkembangan standar ECMAScript, sehingga tidak perlu khawatir apabila browser tidak mendukung fitur-fitur di Node.js. Selain itu, juga mampu menjalankan kode dengan cepat.
- Memiliki karakteristik Single-Threaded yang kinerja programnya lebih ringan
- Data tidak Buffering, dimana memberikan ruang penyimpanan yang lebih besar untuk data anda
Diatas merupakan artikel mengenai Node.js. Semoga artikel ini dapat menambahkan wawasan dan pengetahuan baru untuk Anda.
Terima Kasih