Teknologi Scripting Website

A. Mengenal Client-Side dan Server-Side Scripting

Bagi seorang programmer yang sudah berpengalaman, secara khusus dibidang website tentu saja tidak asing lagi dengan istilah Client-Side Scripting dan Server-Side Scripting. Karena diawal belajar baik diperkuliahan, kursus, atau pun training selalu dijelaskan tentang perbedaan dan karakteristik kedua kelompok pemrograman website ini. Client-Side Scripting secara sederhana didefiniskan sebagai scripting yang dijalankan pada sisi client, yakni oleh browser. Client-Side Script akan memberika beberapa keuntungan seperti pemrosesan request membutuhkan waktu lebih sedikit, menggunakan lebih kecil bandwidth dan mengurangi resiko keamanan. Contoh dari client side scripting ini antara lain:
o HTML
o CSS
o JavaScript
o XML
o JQuery, dll.

Sedangkan Server-Side Scripting (DML) berbanding terbalik dengan Client-Side Scripting dimana scripting akan jalankan pada sisi server. Operasi Server-Side Scripting meliputi proses dan penyimpanan data dari client ke suatu server, yang dapat dilihat oleh sekelompok Client. Server- Side Scripting adalah teknologi web server dimana request oleh user dipenuhi dengan cara menjalankan script langsung pada web server untuk menghasilkan halaman HTML dinamis. Umunya menyediakan website interaktif pada database dan penyimpanan data lainnya. Keuntungan utama dari server-side script adalah kemampuan untuk mengatur response berdasarkan keperluan user, hak akses, atau query ke dalam data store. Contoh dari client side scripting ini antara lain:
o Active Server Pages (ASP)
o PHP : Hypertext preprocessor (PHP)
o Java Server Pages (JSP)



B. Mengenal NodeJs

NodeJs adalah environment run-time JavaScript open-source yang digunakan untuk mengeksekusi code JavaScript di server-side. NodeJs dibuat oleh Ryan Dahl pada tahun 2009. Proses pengembangan NodeJs telah mengubah paradigma bahwa JavaScript digunakan hanya untuk client-side. Oleh karena dengan NodeJs, JavaScript telah berevolusi menjadi bahasa pemrograman yang berjalan di sisi server (server-side), seperti halnya PHP, Ruby, Perl, ASP, JSP, dan sebagainya. Itulah sebabnya NodeJs telah menjadi salah satu elemen dasar dari paradigma “JavaScript di mana-mana”. NodeJs sudah cukup dikenal dan digunakan oleh perusahaan raksasa seperti Microsoft, Yahoo, LinkedIn, dan PayPal. 

NodeJs merupakan script multi-platform yakni dapat berjalan di sistem operasi Windows, Mac OS dan Linux tanpa perlu ada perubahan sintaks program. NodeJs memiliki library server HTTP sendiri sehingga memungkinkan untuk menjalankan server web tanpa menggunakan program server web seperti Apache atau Nginx. Untuk mengeksekusi NodeJs sebagai bahasa server diperlukan engine yang cepat dan mempunyai performansi yang bagus. Oleh karena itu NodeJs Didukung oleh Google V8 JS engine, mesin yang sama yang digunakan di peramban web Google Chrome. Environment runtime JS ini tidak memerlukan server web terpisah atau dependensi lainnya.



C. Kelebihan menggunakan NodeJs

Saat ini, NodeJs cukup popular dikalangan developer website. Hal ini tidak terlepas dari kelebihan yang dimiliki NodeJs. Berikut ini beberapa kelebihan tersebut:

 Bersifat Open Source
Selain NodeJs adalah project open source, sehingga siapapun dapat melihat struktur kode dan juga dapat berkontribusi untuk pengembangannya
 Script Multi-Platform
Aplikasi yang dibuat menggunakan NodeJs yang ditulis dalam JavaScript dapat dijalankan di dalam run-time NodeJs pada OS X, Windows, Linux, FreeBSD, NonStop, IBM AIX, IBM System z dan IBM i.
 Arsitektur event-driven dan non-blocking I/O API
Node.js menyajikan arsitektur event-driven dan non-blocking I/O API untuk mengoptimalkan
skalabilitas aplikasi. Karakter ini umum dipakai untuk aplikasi web real-time. Oleh karena
itu, NodeJs sangat diandalkan untuk membuat aplikasi real-time.
 Multi-Connection
NodeJs mampu menangani ribuan koneksi bersamaan dengan penggunaan resource minimum untuk setiap prosesnya.
 Mendukung Database NoSQL
Database NoSQL seperti MongoDB dan CouchDB mendukung langsung Javascript sehingga interfacing dengan database ini akan jauh lebih mudah.
 Menggunakan V8 JS engine
V8 JS engine yang selalu mengikuti perkembangan standar ECMAScript (nama standarresmi dari JavaScript). NodeJs memanfaatkan Google V8 JS engine untuk mengeksekusi kode, dengan sebagian besar modul dasar dituliskan dalam JavaScript. NodeJs juga memuat sebuah built-in library yang memampukan aplikasi bekerja sebagai server web tanpa menggunakan perangkat lunak khusus semacam Apache HTTP Server atau IIS. 



D. Perbedaan NodeJs dengan JavaScript

Tidak ada perbedaan antara web JavaScript dan NodeJs dalam hal bahasa yang digunakan karena NodeJs hadir untuk memberikan inovasi terbaru di dunia programming. JavaScript digunakan di browser dan di NodeJs hampir persis sama. Yang membuat NodeJs istimewa adalah kumpulan API yang berbeda. Di browser, terdapat berbagai API DOM / Web yang terbuka yang membantu user atau programmer berinteraksi dengan UI dan memungkinkan mengakses hardware sampai batas tertentu. Untuk membandingkan, NodeJs dilengkapi dengan banyak API yang sesuai untuk pengembangan backend, misalnya dukungan untuk sistem file, permintaan http, arus, proses anak, dll. Browser menawarkan beberapa dukungan dasar untuk sistem file atau permintaan http, namun biasanya dibatasi karena masalah keamanan. 



E. Cara Kerja NodeJs

Cara kerja NodeJs tidak sama dengan cara kerja bahasa pemrogramman server lainnya yang bersifat melakukan blocking. Sementara itu, NodeJs memiliki cara kerja yang bersifat Non- blocking. Dalam hal bekerja, memiliki kesamaan dengan JavaScript, yaitu dalam hal meng- handel event dimana mereka bekerja secara basis event baru selanjutnya dilakukan pengalihan ke sintaks pemrograman selanjutnya.

Sebuah NodeJs bisa memiliki algoritma seperti di bawah ini:
a. Halaman blog akan meminta request ke server
b. Data diambil dari database
c. Data blog ditulis secara HTML
d. Selanjutnya respon akan dikirim ke klien.

Bahasa pemrograman blocking memiliki sifat multi-thread berpengaruh besar urutan dalam hal pemrosesan dan permintaan data. Ketika program berjalan dan ketika pengambilan data dalam waktu tertentu maka threat berikutnya sudah harus disiapkan agar proses pengambilan data bisa berjalan dengan lancar.

Hal ini berbeda dengan yang dilakulkan dengan sistem yang menggunakan NodeJs. Pada NodeJs, threat hanya akan dibuat bila ada event yang membutuhkannya saja. Hal ini tentunya akan membuat proses pengolahan data bisa dilakukan dengan lebih efektif dan lebih cepat.

Software yang satu ini memungkinkan programmer melakukan pemasangan JavaScript bukan saja di bagian client browser tetapi juga pada bagian server. Ini adalah terobosan penting dalam dunia programming. Penggunaan NodeJs semakin meluas sehingga banyak perusahaan-perusahaan terkemuka yang menggunakan NodeJs untuk men-support aplikasi yang dikembangkannya.



F. Implementasi NodeJs

Berikut ini adalah beberapa aplikasi yang cukup dikenal oleh masyarakat luas yang dibangun menggunakan NodeJs:
 Netflix
Situs streaming serial TV dan film ini dijalankan menggunakan NodeJs di samping Python dan Java.
 LinkedIn
Backend API dari aplikasi Android dan iOS platform social network untuk para profesional ini dibangun dengan NodeJs.
 Medium
Platform blogging terkenal ini menggunakan NodeJs untuk backend-nya.


Comments