Mengenal Ajax


Taukah Anda, apa perbedaan paling mencolok antara aplikasi website dengan aplikasi desktop di komputer? Aplikasi Desktop lebih interaktif dan responsif dibanding aplikasi website... Jika Anda pernah melihat/menjalankan aplikasi destop, dimana jika Anda mengklik suatu tombol, maka reaksi perubahannya akan langsung terlihat pada aplikasi tersebut, hal itulah yang menjadikan aplikasi dekstop sangat interaktif.


Lain ceritanya dengan aplikasi website , dimana jika Anda mengklik suatu tombol, maka browser akan melakukan refresh/reload pada browser, biasannya layar browser akan menjadi halaman kosong blong berwarna putih sesaat, karena pada saat itu browser sedang melakukan requers/permintaan data ke server. Hal itulah yang membuat aplikasi website menjadi kurang interaktif dan responsif dibandingkan aplikasi destop.

Namun pada suatu hari yang cerah, ada seorang pria londo, presiden sekaligus pendiri perusahaan Adaptive Part, bernama Jesse James Garret yang memperkenalkan Ajax untuk mengatasi masalah tersebut, dimana Ajax dapat membuat aplikasi website menjadi lebih interaktif dan responsif layaknya aplikasi desktop.

Di kemudian hari, Aja semakin populer saja di kalangan pengembang website, karena kehadiran Ajax menandai lahirnya suatu generasi baru bagi web modern, atau istilah kerennya Web 2.0.

Ajax singkatan dari (Asynchronous Javascript and XML). Perlu kita ketahui Ajak bukanlah bahasa pemrograman baru, melainkan merupakan gabungan dari teknik/teknologi yang sebelumnya sudah ada, yaitu :
  • XHTML (eXtensible Hypertext Markup Language) yang merupakan pengembangan dari HTML.
  • CSS (Cascading Style Sheets) yang biasa mengatur style atau format tampilan suatu dokumen di web
  • XML (eXtensible Markup Language) merupakan format data yang memungkinkan untuk melakukan pertukaran data. Sebagai alternatif pertukaran data yang interaktif, XML dapat digantikan dengan JSON (JavaScript Object Notation).
  • DOM (Document Object Model) yang mengatur interaksi dan tampilan isi HTML dan XML secara dinamis.
  • Javascript merupakan bahasa utama yang membentuk lapisan Ajax.

Ajax merupakan suatu teknik metode pengambilan data dari server menggunakan sebuah fungsi dalam Javascript, yaitu XMLHttpRequest(XHR). XMLHttpRequest merupakan objek yang dirancang untuk memungkinkan permintaan layanan ke server HTTP secara asinkron. HTTP adalah protokol yang digunakan oleh HTML. Asinkon berarti bahwa klien bisa meminta layanan dari server dan tidak perlu menunggu server melayaninya.

Kemampuan AJAX


Manfaat Ajax yang biasanya digunakan dalam suatu website, diantarannya:
  • Real Time Validation
  • Selain validasi terhadap data berupa email, pencocokan password, umur (harus angka), dan lain-lain. Merupakan validasi yang dilakukan dengan segera (real time).
    Hal ini sangat berguna, terutama pada kondisi yang tidak memungkinkan pengiriman keseluruh data ke client yang dibutuhkan untuk melakukan validasi ketika halaman di-load di awal mula.
  • AutoComplete atau Auto Suggest
  • Apakah AutoComplete itu ? contohnya begini, ketika user sedang mengisi data di sebuah form, karakter yang sedang dituliskan oleh user akan bisa langsung dilengkapi oleh data-data yang disarankan (suggestion).
    Contoh yang paling akrab adalah form pencarian Google (Google Suggest), dimana ketika Anda menuliskan suatu kalimat yang belum utuh, maka secara otomatis akan tersedia daftar data-data yang menyambungkan kalimat tersebut secara utuh, sehingga Anda tidak perlu lagi menuliskan semua kata yang ingin Anda cari.
  • Load on demand
  • Berdasarkan event tertentu, sebuah halaman HTML bisa mengambil tambahan data di belakang layar, sehingga memungkinkan browser menampilkan halaman web secara lebih cepat dan bisa diatur kapan penampilannya.
  • Refresh data dan server push
  • Halaman web bisa mengambil data dari server tertentu untuk menampilkan informasi terkini, misalnya nilai tukar, dollar, stok ramalan cuaca, dan sebagainya. Kemampuan ini memungkinkan halaman web melihat informasi terkini tanpa harus merefresh/reload halaman web.
  • Partial submit
  • Halaman web bisa melakukan submit (pengiriman) sebagian form terlebih dahulu, tanpa meminta halaman web untuk me-refresh-nya terlebih dahulu.
  • Mashup (mencampur data)
  • Halaman web bisa menampilkan data menggunakan berbagai media seperti proxy server side atau pun menggunakan skrip external. Dengan demikian, Anda bisa menggunakan berbagi data untuk Aplikasi Anda. Misalnya menggabungkan nilai tukar dollar ke rupiah dengan halaman web e-commerce.

Komentar