Top
openArchitectureware / blog  / Berkenalan Dengan Node.js, Platform Pembuatan Aplikasi Jaringan Super Cepat

Berkenalan Dengan Node.js, Platform Pembuatan Aplikasi Jaringan Super Cepat

Beberapa tahun terakhir ini, Node. js menjadi sangat populer dengan coders dimana-mana. Biasanya, coders menggunakannya untuk membuat API dan membangun matriks inter-operabilitas baru di Internet. Coders adalah seseorang yang biasa mendesain dan menulis serta menguji program komputer.

Joyent telah menjadi sponsor utama Node.js sejak awal. Dalam sebuah Forum Teknologi Baru yang dilangsungkan beberapa waktu yang lalu, Ben Wen, yang tidak lain adalah wakil presiden pemasaran produk di Joyent, telah menguraikan beberapa hal yang harus diketahui oleh masyarakat tentang fenomena mengguncang dari pengembangan backend.

Kedengarannya sih menarik, tapi apa artinya semua itu? Dan bagaimana cara kerja Node. js ini? Pertanyaan tersebut bisa anda temukan jawabannya pada penjelasan di bawah ini.

Apa itu Node.js?

Node.js adalah platform sisi server yang dibangun di Mesin JavaScript Google Chrome (Mesin V8). Node.js dikembangkan oleh Ryan Dahl pada tahun 2009 dan versi terbarunya adalah v0.10.36. Definisi Node.js sebagaimana disediakan oleh dokumentasi resminya adalah sebagai berikut.

Node.js adalah platform yang dibangun di runtime JavaScript Chrome, yang difungsikan untuk memudahkan pembuatan aplikasi jaringan cepat dan skalabel. Ada pula yang mengartikannya sebagai sistem runtime Java Script yang ramping, cepat dan berguna untuk server dan aplikasi desktop.

Node.js umumnya menggunakan model I / O non-blocking, yang bersifat event-driven, sehingga membuatnya menjadi ringan dan efisien, serta sempurna untuk aplikasi real-time data-intensif yang berjalan di perangkat terdistribusi. Aplikasi Node.js ini dapat dijalankan dalam runtime Node.js di OS X, Microsoft Windows dan Linux.

Node.js juga menyediakan pustaka yang kaya akan berbagai modul JavaScript yang menyederhanakan pengembangan aplikasi web, yang sebagian besarnya dilakukan dengan menggunakan Node.js.

Beberapa Riwayat JavaScript

Pada tahun 1995,  Brendan Eich yang kemudian menjadi kontraktor Netscape saat itu diketahui telah berhasil membuat bahasa JavaScript, yang diciptakan untuk dijalankan di browser Web. Berdasarkan informasi yang didapat, Ia bisa menyelesaikan pekerjaannya tersebut dalam waktu kurang lebih 10 hari.

Pada awalnya, JavaScript ini dimaksudkan untuk mengaktifkan animasi dan manipulasi lain dari model objek dokumen browser (DOM). Setelah saat itu, versi JavaScript untuk Netscape Enterprise Server pun mulai diperkenalkan tidak lama setelahnya.

Pemberian nama JavaScript sendiri dipilih untuk tujuan pemasaran, karena bahasa Java Sun dianggap memiliki pengertian yang sangat luas pada saat itu. Sebenarnya, bahasa JavaScript tersebut didasarkan pada Skema dan Bahasa Diri, dengan semantik Jawa yang dangkal.

Awalnya, banyak programmer yang menganggap bahwa JavaScript tidak akan berguna untuk “kerja nyata”, karena penerjemahnya menjalankan urutan besarnya lebih lambat daripada bahasa yang dikompilasi. Namun hal itu berubah setelah beberapa upaya penelitian yang bertujuan untuk membuat JavaScript menjadi lebih cepat mulai dilakukan.

Contoh yang paling menonjol yang bisa anda lihat adalah pada mesin Google Chrome V8 JavaScript open-source, yang sudah bisa melakukan kompilasi tepat waktu, inlining dan optimasi kode dinamis, yang sebenarnya dapat mengungguli kode C ++ untuk beberapa beban dan mengungguli Python untuk sebagian besar kasus penggunaan.

Platform Node.js yang berbasis JavaScript kemudian diperkenalkan pada tahun 2009, oleh Ryan Dahl untuk Linux dan MacOS, sebagai alternatif yang lebih skalabel untuk Apache HTTP Server. NPM yang ditulis oleh Isaac Schlueter diluncurkan setahun kemudian, tepatnya pada tahun 2010. Sebuah versi Windows asli Node.js pun memulai debutnya pada tahun 2011.

Joyent memiliki, mengatur dan mendukung upaya pengembangan Node.js selama bertahun-tahun. Sejak 2015, proyek Node.js telah menjadi milik Node.js Foundation, yang diatur oleh Komite Pengarah Teknis Yayasan (Foundation’s Technical Steering Commitee). Node.js juga telah dianut sebagai Proyek Kolaborasi Yayasan Linux.

Fitur Node.js

Node. js memiliki beberapa fitur penting yang akhirnya bisa menjadikannya sebagai pilihan pertama arsitek perangkat lunak. Apa sajakah fitur yang dimilikinya tersebut? Berikut ini adalah fitur-fitur Node. js yang diketahui hingga saat ini:

  • Asynchronous dan Event Driven (Pemrograman Prosedural)

Semua pustaka Node.js API adalah asynchronous, yang artinya non-blocking. Pada dasarnya ini berarti server yang berbasis Node.js tidak pernah menunggu API untuk mengembalikan data.

Server pindah ke API berikutnya setelah melakukan panggilan dan mekanisme pemberitahuan event Node.js akan membantu server untuk mendapatkan respons dari panggilan API sebelumnya.

Event Loop dibangun di atas `libuv` yang menangani queuing dan pemrosesan kejadian asynchronous. Event loop ini akan menangani events queue yang berisi event dengan callback mereka. Misalnya, ketika klien mengirim permintaan ke server Node.js, fungsi penanganan permintaan ditempatkan ke event queue dan ditangani oleh event loop.

Node. js ini juga memiliki sifat event driven, yaitu sebuah paradigma pemrograman yang alur programnya ditentukan oleh aktivitas (aksi) user atau melalui message (pesan) yang diberikan oleh program lainnya.

  • Sangat Cepat

Dibangun di Google Chrome V8 JavaScript Engine, pustaka Node.js ini sangat cepat dalam eksekusi kode.

  • Single Threaded tetapi Highly Scalable

Node.js menggunakan model berulir tunggal dengan perulangan peristiwa. Mekanisme acara membantu server untuk merespons dengan cara non-blocking dan menjadikan server sangat skalabel dibandingkan dengan server tradisional, yang membuat untaian terbatas untuk menangani permintaan.

Node.js yang menggunakan program berulir tunggal dan program yang sama, dapat memberikan layanan ke jumlah permintaan yang jauh lebih besar daripada server tradisional seperti Apache HTTP Server.

  • Tidak Ada Buffer

Aplikasi Node.js tidak pernah menyangga data apa pun. Aplikasi ini hanya menghasilkan data dalam potongan.

  • Lisensi

Fitur terakhir yang dimilikinya adalah fitur lisensi. Lisensi secara umum dapat diartikan sebagai pemberian izin, yang dalam hal ini termasuk dalam perjanjian. Untuk Node.js sendiri, lisensinya dirilis di bawah lisensi MIT (Massachusetts Institute of Technology).

Siapa, Kapan dan Dimana Saja Kita Menggunakan Node.js?

Untuk saat ini, Node.js diketahui telah digunakan oleh hampir semua orang. Untuk jangka waktu yang cukup lama, ini digunakan oleh bebepara perusahaan besar, seperti : Yahoo!, PayPal, Netflix, Medium, eBay, General Electric, GoDaddy, Microsoft, Uber, Wikipins, LinkedIn dan lain-lain.

Kapan anda harus menggunakan Node.js?

Perlu anda ketahui bahwasannya ada saat-saat tertentu yang paling tepat bagi anda untuk menggunakan Node. js ini. Adapun waktu yang tepat tersebut yaitu:

  • Streaming data

Node. js sangat tepat untuk digunakan saat anda sedang melakukan streaming data. Hal ini dikarenakan dia memiliki sifat yang tidak sinkron, yang sangat baik untuk menangani streaming data real-time. Ini dapat digunakan untuk melakukan streaming media atau data dari berbagai sumber, mengunggah file atau sangat bagus untuk server Websockets.

  • Server API 

Hal ini dikareknakan Node. js dapat menangani banyak koneksi sekaligus, yang sangat cocok untuk layanan API. Format JSON (JavaScript Object Notation) sendiri digunakan secara alami oleh Javascript. Oleh karena itu, anda dapat dengan mudah mengkonversi Objek Javascript ke dalam format JSON.

  • Microservices

Node.js sangat cocok untuk bertindak sebagai server microservices, karena memiliki fitur yang cepat dan ringan, yang dapat digunakan untuk menulis microservices seperti misalnya gateway API.

Dimana saja anda bisa menggunakan Node.js?

Berikut ini adalah area dimana Node.js bisa dengan jelas membuktikan dirinya sebagai mitra teknologi yang sempurna.

  • I / O Aplikasi terikat
  • Aplikasi Streaming Data
  • Aplikasi Data Intensif Real-time (DIRT)
  • Aplikasi berbasis JSON API
  • Aplikasi Halaman Tunggal

Ada satu hal yang perlu anda perhatikan terkait dengan tempat dimana anda bisa menggunakan Node. js ini. Ingatlah bahwa anda tidak disarankan untuk menggunakan Node.js untuk aplikasi intensif CPU.

Bagaimana Cara Memulai Node.js?

Untuk memulai Node.js ini sangatlah mudah. Pertama-tama, anda hanya perlu mengunduh Node.js. Ingatlah sebelum mengunduh, pastikan untuk memilih versi yang cocok dengan sistem anda.

Adapun macam-macam versi sistem tersebut antara lain:

  • Windows
    Ini semudah menginstal perangkat lunak Windows lainnya. Ada installer khusus yang harus anda jalankan dan ikuti instruksinya. Biasanya itu akan ditampilkan langkah demi langkah.
  • Mac OS X
    Ada juga installer standar .pkg untuk Mac OS X, yang bekerja mirip dengan instalasi Windows.
  • Linux
    Ada beberapa opsi di sini. Distribusi Linux yang paling populer memiliki Node.js dalam manajer paket mereka seperti apt-get atau yum, yang disarankan untuk pengguna Linux yang kurang berpengalaman. Seluruh proses digambarkan lebih menyeluruh di sini.

Pilihan lainnya adalah dengan mengompilasi sendiri. Mungkin jika anda ingin melakukan hal itu, maka anda akan membutuhkan pengalaman dengan Linux.

Umumnya anda harus menjalankan perintah-perintah di bawah ini:

Opsi terakhir adalah dengan mengunduh dan menggunakan binari yang dikompilasi. Sama seperti di atas, pengguna yang berpengalaman seharusnya tidak memiliki masalah dengan instalasi semacam itu.

Step atau Langkah Pertama

Setelah instalasi, anda harus memiliki perintah Node yang tersedia di konsol anda. Untuk menguji apakah sudah terpasang dengan benar, maka anda harus menjalankannya.

Berdasarkan versi Node.js yang diinstal, seharusnya menghasilkan sesuatu seperti ini:

Jika anda tidak melakukan kesalahan apapu saat melakukan proses ini, selanjutnya anda harus memeriksa apakah anda telah menyelesaikannya semua langkah sebelumnya dengan benar.

  • Program Pertama

Sekarang saya akan menunjukkan kepada anda cara menulis server HTTP sederhana di Node.js. Mari kita buat file bernama server.js sebagai permulaan.

Sekarang anda sudah bisa menjalankannya dengan “calling”:

Setelah itu, skrip “calling” yang anda lakukan harus terlihat seperti ini:

Sekarang anda bisa membuka URL browser dengan http://localhost:8080. Seharusnya itu akan mencetak server HTTP pertama anda yang ditulis dalam pesan Node.js.

Memuat Modul HTTP

Pertama-tama, anda perlu mengimpor modul http yang merupakan salah satu inti bawaan di Mode.js. Ini juga dilengkapi dengan modul https untuk menangani agar koneksi HTTP aman.

Membuat server dan Mendefinisikan Fungsi Callback Handler

Setelah itu kita perlu memanggil modul http dengan createServer () method untuk membuat server. Metode ini mengambil callback sebagai argumen, yang merupakan handler permintaan. Request handler tersebut mendapat dua argumen, yaitu:

  • Permintaan, yang merupakan objek yang berisi informasi permintaan.
  • Respon, yang merupakan objek yang memiliki properti dan metode untuk menangani respons untuk klien.

Dalam contoh itu kita melakukan metode call end () pada objek respons, yang mengakhiri koneksi dan mengirim respons ke klien. Dalam hal ini adalah pesan teks biasa yang sederhana.

Memulai Server

Untuk memulai server yang dibuat, anda perlu menjalankan metode “listen”, yang mengambil dua argumen. Yang pertama adalah port untuk didengarkan dan yang kedua adalah fungsi callback yang dijalankan ketika server mulai mendengarkan pada port tersebut.

Kami menggunakan callback itu untuk mencetak pesan bahwa server sudah siap dan informasi tentang host dan port yang didengarkan oleh server.

Kesimpulan

Node.js adalah cross-platform, runtime Javascript open-source yang bekerja pada apa yang disebut sebagai sisi-server. Itu berarti anda dapat mengeksekusi kode Javascript pada komputer anda dengan menggunakan runtime daripada menjalankannya di browser.

Ini menyediakan cara untuk menulis server HTTP anda sendiri atau layanan jaringan lainnya. Node.js juga bisa memberi anda akses ke filesystem dan metode operasi dengan file serta hal-hal lain yang memberi tahu anda cara untuk melakukan operasi pada sistem anda.

Pada artikel ini kami telah menjelaskan cara kerja dari Node.js ini dan memberi anda panduannya serta berbagai informasi lain yang berhubungan dengan software tersebut.

Namun terlepas dari itu, anda perlu menyadari bahwa setiap teknologi pasti memiliki pro dan kontra atau kelbihan dan kekurangannya masing-masing. Kami tidak bisa mengatakan bahwa Node.js ini sangat sempurna untuk setiap proyek.
Hal yang bisa kami sampaikan adalah bahwasannya kemungkinan ini akan sangat bagus sebagai solusi web.

Beberapa orang sangat senang menggunakan Node.js ini dan beberapa diantaranya tidak, Semua itu tergantung pada apa yang menjadi kebutuhan mereka. Bagaimana dengan anda? Kalau anda merasa penasaran, kenapa anda tidak mencobanya saja?

Jika anda ingin mempelajarinya lebih lanjut, anda bisa mencari informasi-informasi pendukunf lainnya. Ada banyak sekali informasi yang bisa anda dapatkan di internet tentang hal ini. Jadi tunggu apa lagi?