Perbedaan Client-Side dan Server-Side Web Programming

Dalam aplikasi web, kita mengenal client dan server. Client adalah web browser yang digunakan oleh pengguna, seperti Internet Explorer, Mozilla Firefox, Opera, Google Chrome, dan lain-lain. Sementara server adalah sistem komputer yang berada di lokasi tertentu, yang bertugas memproses permintaan web dari client serta mengirimkan halaman web kepada client. Aplikasi web dapat memiliki kode yang akan dijalankan di browser client dan/atau kode yang akan dijalankan di web server.

Perbedaan Client-Side dan Server-Side Web Programming

Namun, aplikasi web memiliki model arsitektur yang tidak terhubung, yang berarti tidak pernah ada hubungan yang konstan antara halaman yang ditampilkan di browser client dengan server. Dengan kata lain, pemrosesan yang terjadi di sisi client tidaklah sama atau persis terintegrasi dengan pemrosesan yang terjadi di sisi server. Sehingga, munculah istilah client-side programming dan server-side programming untuk merujuk pada metode-metode yang digunakan untuk mendesain alur pemrosesan di client dan di server.

Secara tradisional, kebanyakan dari pemrosesan akan dikerjakan di server alih-alih di browser client. Terutama ketika client hendak mengakses database atau file tertentu dari server – halaman akan dikirimkan balik dari client ke server untuk kemudian diproses lebih lanjut oleh server.

Pemrograman Server-Side
Ada beberapa teknologi server-side yang bisa digunakan ketika mengembangkan aplikasi web, seperti Microsoft ASP.NET. Pemrosesan server-side digunakan untuk berinteraksi dengan penyimpanan permanen seperti database atau file. Server juga akan melakukan rendering halaman serta memproses input dari pengguna. Pemrosesan server-side terjadi ketika sebuah halaman diminta oleh client dan ketika halaman dikirimkan balik ke server. Contoh pemrosesan server-side yakni validasi pengguna, penyimpanan dan penerimaan data, serta navigasi menuju ke halaman lain.

Kelemahan dari pemrosesan server-side adalah pengiriman balik halaman itu sendiri. Pengiriman balik halaman akan menurunkan performa secara drastis, sebab pengguna diharuskan menunggu halaman diproses dan dibuat ulang.

Pemrograman Client-Side
Berbeda dengan pemrograman server-side, pemrograman client-side dibenamkan dalam halaman web yang dikirimkan ke browser client sehingga memungkinkannya untuk diproses langsung di browser pengguna. Kode client-side ditulis dengan bahasa pemrograman tertentu, seperti JavaScript, yang dapat berinteraksi secara langsung dengan elemen-elemen HTML halaman seperti text box, tombol, list-box, dan tabel. HTML dan CSS juga digunakan. Agar kode client-side dapat bekerja, browser client harus mendukung bahasa-bahasa pemrograman yang digunakan tersebut.

Artikel berhubungan:  Cara Membuat White Label Dashboard Admin WordPress

Ada banyak kelebihan dari pemrograman client-side, seperti waktu respon yang lebih cepat, aplikasi yang lebih interaktif, serta reduksi konsumsi daya di server. Pemrograman client-side ideal digunakan ketika elemen-elemen halaman perlu dimodifikasi tanpa perlu bersentuhan dengan database atau file tertentu di server. Contohnya yakni ketika kita hendak menampilkan dan menyembunyikan suatu elemen secara dinamis berdasarkan input pengguna, seperti dalam validasi input.

Namun, pemrograman client-side juga memiliki kelemahan. Pertama, proses kodingnya jauh lebih sulit dibandingkan dengan pemrograman server-side. Kedua, browser pengguna belum tentu mendukung bahasa-bahasa pemrograman yang digunakan.

AJAX
Peraturan umum dari pemrograman web yakni kita perlu menggunakan pemrograman server-side, yang memerlukan pengiriman balik halaman, ketika browser client hendak mengakses objek yang tersedia di server semisal database dan file tertentu, sementara kita bisa menerapkan pemrograman client-side untuk interaksi antara pengguna dengan halaman. Namun, pengenalan terhadap AJAX telah merubah sedikit peraturan tersebut.

AJAX, Asynchronous JavaScript and XML, adalah sebuah konsep yang memungkinkan browser client untuk berinteraksi dengan objek dalam server secara langsung tanpa perlu mengirimkan balik halaman terlebih dahulu. AJAX melibatkan database server, web service, dan pemrograman client-side.

Pemrograman client-side akan menghubungi web service dan web service akan memproses permintaan database. Proses ini bersifat asinkron, dalam artian bahwa browser client tidak dikunci dalam keadaan menunggu respon dan bebas melakukan aktivitas, sementara setelah respon telah berhasil dibentuk barulah respon akan dikirimkan dari web service ke browser client. Dengan AJAX, penggunaan pemrograman client-side akan semakin meningkat seiring dengan semakin baiknya ia dalam hal fleksibilitas dan simplisitas.

Semoga bermanfaat!