Thursday, April 10, 2008

Ta'aruf dengan AJAX

Artikel ini merupakan artikel singkat mengenai ta'aruf atau berkenalan teknologi AJAX. Sasaran artikel ini adalah para pemula. Untuk para ahli, boleh baca, tapi beri komentar ya, barangkali ada kesalahan, atau mungkin malah kebenarannya mau dikomentari. AJAX itu singkatan dari Asynchronous JavaScript and XML. AJAX bukan bahasa pemrograman, melainkan teknik baru dalam menggunakan bahasa-bahasa yang sudah ada (dan intinya adalah JavaScript). Seperti kita ketahui, aplikasi desktop lebih bersahabat (user-friendly) daripada aplikasi web. Yang paling terasa adalah dalam hal respon oleh sistem (server kalau dalam aplikasi web). Aplikasi desktop lebih peka terhadap rangsang, tidak seperti aplikasi web (loading-nya lama). Nah, untuk mengatasi hal ini, maka digunakanlah AJAX. Dengan AJAX, kita bisa membuat aplikasi web menjadi lebih baik, cepat, dan bersahabat. Katanya, AJAX ini dipopulerkan oleh Google pada tahun 2005 melalui aplikasi Google Suggest. Bagi kamu yang belum tahu contoh aplikasi yang didukung AJAX, sebaiknya lihat dulu deh. Ini nih yang mendasari populernya AJAX. Dalam website tradisional, jika kita ingin mendapatkan informasi dari basisdata atau berkas pada server, atau mengirim informasi kepada server, kita harus membuat form HTML dengan metode GET atau POST data ke server. Pengguna harus menekan tombol "Submit" untuk mengirim atau memperoleh informasi, menunggu server meresponnya, kemudian halaman baru akan ditampilkan sebagai hasilnya. Karena server mengembalikan halaman baru setiap kali pengguna mengirimkan form, aplikasi web tradisional berjalan lambat, bahkan terkesan tidak ada respon (tidak user-friendly). Dengan AJAX, JavaScript yang dibuat bisa berkomunikasi langsung dengan server melalui JaavaScript XMLHttpRequest object. Dengan HTTP request tersebut, halaman web bisa request ke web server dan juga mendapatkan respon dari web server tanpa memuat halaman kembali. Pengguna akan tetap berada di halaman yang sama dan dia tidak akan menyadari bahwa script meminta halaman atau mengirim data ke server secara background (tidak terlihat). Berikut ini ringkasan kelebihan AJAX:
  1. Tidak perlu memuat halaman secara utuh sehingga lebih cepat.
  2. Lebih user-friendly.
  3. Platform independent (bisa digunakan di server dan browser (terkini) apa pun).
Dan berikut ini ringkasan kekurangannya:
  1. Browser tidak memberikan keterangan bahwa browser sedang melakukan proses, karena proses terjadi di background. Hal ini bisa diatasi dengan membuat sendiri keterangan tersebut (misalnya progress bar) dari sisi aplikasi kita.
  2. Browser tidak menyimpan browsing history lengkap (karena pengguna tetap berada dalam satu halaman, tidak berpindah ke halaman lain), sehingga pengguna kesulitan untuk kembali ke "halaman" sebelumnya. Bisa diatasi juga, dengan membuat sendiri (lagi) script kembali ke halaman sebelumnya.
Kita baru saja selesai ta'aruf. Tidak usah lama-lama ta'aruf itu. Selesai ta'aruf bukan berarti kita boleh bersentuhan dengannya sekarang. Sabar dan jagalah hati (berpuasalah bila perlu). Kita harus meng-khitbah-nya terlebih dulu, kemudian prosesi inti, baru boleh diubek-ubek. Jadi, tunggu artikel selanjutnya. Insya Allah tidak sampai satu pekan dari sekarang. Tetap semangat, tetap istiqomah, biar tetap bisa berkontribusi untuk teknologi Indonesia.