Web Development

Belajar Node.js Untuk Pemula: Pengertian, Sejarah, dan Keunggulan

Binar Academy
Belajar Node.js Untuk Pemula: Pengertian, Sejarah, dan Keunggulan
Isi Halaman :

Pernah ga kamu dihadapkan sama keterbatasan ketika ingin berkarya? Padahal kita selalu ingin membuat sesuatu yang bisa dilakukan dimana saja dan dengan cara apa saja kan? 

Nah keterbatasan inilah yang dialami oleh Ryan Dhal pada tahun 2009 sehingga dia mencetuskan suatu inovasi bernama Node.js yang sudah digunakan berbagai perusahaan atau startup untuk mengembangkan aplikasi dan website.

Sampai hari ini sudah ada banyak aplikasi yang menggunakan Node.js seperti:

  1. Linkedin: optimasi mobile app Linkedin menggunakan Node.js membuat aplikasinya berjalan 20x lebih cepat dari sebelumnya.
  2. Netflix: user interface Netflix dirancang menggunakan Node.js yang menghasilkan kecepatan 2x lipat dari sebelumnya. 
  3. Uber: Node.js digunakan pada Uber untuk pemeriksaan eror, kecepatan pemrosesan, dan development.
  4. Trello: platform manajemen pekerjaan ini ternyata berbasis Node.js yang difungsikan untuk mengatur dan mengelola pembagian kerja secara online.
  5. PayPal: Node.js dalam PayPal digunakan sebagai user-facing contents.
  6. Medium: platform blogging global yang menggunakan Node.js untuk server backend

Sejarah Singkat Nodejs

Mulanya Ryan Dhal adalah seorang Software Engineer yang pada tahun 2009 masih bekerja di Joyent perusahaan lamanya. Saat itu ia ingin membuat web server menggunakan event loop dan single thread, ia sudah mencoba berbagai cara menggunakan bahasa pemrograman C, Lua, dan Haskell. Tapi permasalahannya belum terpecahkan. 

Suatu ketika ia menyadari kalau Javascript dan V8 engine dari Chrome punya karakteristik yang mirip dan bisa memecahkan masalah yang dia hadapi. Dia berpikir kalau dia bisa membuat web server menggunakan V8 engine, tapi masalahnya Javascript cuma bisa dijalankan melalui browser aja karena bergantung dengan V8 engine yang tertanam di dalam browser Chrome. 

Nah akhirnya Ryan Dhal membuat suatu aplikasi yang bisa membungkus V8 engine ini supaya bisa keluar dari browser dan bisa diinstal di operating system (OS). Aplikasi ini dinamakan Node.js.

Node.js adalah aplikasi atau runtime environment untuk Javascript dalam sistem secara langsung, yang bersifat open source dan cross platform. 

Nodejs Tidak Sama Dengan Javascript

Perlu dipahami bahwa Node.js bukanlah bahasa pemrograman seperti Javascript. Node.js adalah runtime yaitu sebuah konteks atau wadah dimana kita menjalankan script atau kode. Sebuah program memiliki beberapa fase di dalam komputer ketika program akan dijalankan. Nah, runtime ini adalah saat dimana aplikasi itu sedang berjalan.

Javascript adalah interpreted language atau bahasa pemrograman, dimana program tidak perlu melakukan kompilasi. Sehingga, semua informasi kode Javascript akan dieksekusi langsung di dalam runtime environment. 

Singkatnya Node.js adalah platform, sedangkan Javascript adalah bahasa pemrograman. Javascript tidak akan bisa berjalan tanpa wadahnya yang kita sebut sebagai runtime, yang pada hari ini runtime tersebut sudah dimodifikasi menjadi Node.js.

Fitur dan Keunggulan Node.js

Node.js adalah platform yang menyediakan banyak library Javascript untuk menyederhanakan dalam development aplikasi. Selain itu, terdapat beberapa fitur di dalamnya yang perlu kamu pahami. Berikut beberapa fitur utama dan keunggulan dari Node.js:

  1. Bersifat Asynchronus, Non-Blocking, & Event Driven

Node.js bersifat asynchronus dalam penanganan request dan input-output

Input-output request bersifat asynchronus dan non-blocking, yang membuat semua request yang datang dapat langsung diterima tanpa memblokir thread / proses lain yang sedang berjalan.

Keunggulan ini menjadi poin pembeda dari platform lainnya, sehingga dapat menjadi ciri khas dari Node.js

  1. Kecepatan

Node.js dapat mengeksekusi kode lebih cepat (dibanding PHP dan Java) dalam menangani request secara bersamaan. Kecepatan pemrograman dalam Node.js didukung oleh 2 komponen yaitu V8 engine dari Google Chrome dan Libuv Library, yaitu komponen utama dalam node yang bekerja secara asynchronus dan dilengkapi dengan event loop.

Kedua komponen ini membuat Node.jd menjadi platform yang sangat cepat dalam mengeksekusi kode.

  1. Single Thread

Node.js menggunakan model single thread (pelayanan satu pintu) dengan event looping. Model ini membuat server merespon secara asynchronus dan siap merespon seluruh request yang masuk untuk diolah. Event looping membantu single thread dalam merespons request dengan cara non-blocking atau tanpa menahan request. 

Model single thread juga membuat server menjadi sangat scalable (dapat menampung banyak request sekaligus) dibandingkan multi thread. 

  1. Open Source

Node.js bersifat open source yang artinya semua orang bisa menggunakan Node.js secara gratis tanpa harus membayar lisensi ke developernya. Selain itu open source memungkinkan semua orang untuk mengakses struktur Node.js dari source codenya, bebas memodifikasi, dan membagikan hasil modifikasi sebagai inovasi baru. 

 

Konsep inilah yang membuat banyak perusahaan dan startup ternama menggunakan Node.js untuk membangun website atau aplikasi, seperti 6 situs di awal yang sudah disebutkan.

Ilustrasi developer yang menggunakan Nodejs dan Javascript
Photo by Kelly Sikkema on Unsplash

Jadi setelah mengetahui tentang sejarah, pengertian, perbedaannya dengan Javascript, dan keunggulan atau fitur dari Node.js apakah kamu tertarik untuk membuat website / aplikasi menggunakan Node.js?

Kalau kamu tertarik lebih lanjut untuk mempelajari bagaimana cara instalasi Node.js, modul sebagai library dalam Node.js, dan implementasi kode Javascript, kamu bisa mulai dengan Bootcamp Fullstack Website Development di Binar!

Walaupun kamu adalah seorang awam yang tidak memiliki basic yang linear, fresh graduate, maupun career shifter, kamu tetap bisa mengikuti Bootcamp Fullstack Website Development di Binar karena metode pengajaran yang unik dan kurikulum yang dirancang khusus untuk membantumu belajar lebih asik.

Pingin tanya-tanya seputar bootcamp dan masih belum yakin? Klik Info Lebih Lanjut untuk dapatkan info selengkapnya!

Kamu Punya Potensi Tersembunyi!

Temukan potensi dan rekomendasi bootcamp untuk kariermu dalam 3 menit
Coba Potensi Quiz

Bingung Mau Pilih Bootcamp yang Cocok Untukmu?

Potensi Quiz akan kasih rekomendasi bootcamp sesuai kepribadianmu dalam 3 menit
Coba Potensi Quiz
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Daftar Isi
Hi! 👋🏼  
Kamu bisa konsultasi kebutuhanmu di BINAR via WhatsApp ya