Ada begitu banyak aplikasi web yang sekarang dibangun menggunakan AJAX yang berlebihan. Seperti yang kita ketahui, AJAX memang berguna untuk mengambil data dari server lalu menampilkannya kembali ke browser tanpa harus me-refresh atau me-reload halaman tersebut. Nah, istilah berlebihan yang saya maksudkan di sini adalah jika fungsi AJAX itu sendiri digunakan terlalu sering (hampir di semua aktivitas) sehingga kelihatan menjadi tidak proporsional lagi. Apalagi jika fungsi AJAX tadi pada akhirnya akan menghilangkan fungsi lainnya yang ternyata jauh lebih penting dan dibutuhkan oleh Pengguna. Kalau Anda masih bingung, mari kita simak bersama ilustrasi berikut ini.
Anda pasti sudah pernah melihat sebuah halaman di aplikasi web yang menampilkan data atau record-record dalam bentuk tabel, bukan? Halaman ini biasa disebut dengan List page. Di halaman List tersebut Anda dapat melihat record-record tadi dibagi ke dalam beberapa halaman apabila jumlah record di tabel tersebut sudah tidak muat dalam satu halaman. Anda bisa melakukan navigasi ke halaman lain untuk melihat record yang tidak terdapat di halaman yang sedang terbuka. Misalnya: lompat ke halaman selanjutnya dengan mengklik tombol Next (Berikutnya) atau lompat ke halaman sebelumnya dengan mengklik tombol Previous (Sebelumnya), dan seterusnya. Selain navigasi record/halaman, Anda juga bisa mencari data dari halaman List tadi dan menampilkan hasilnya di halaman yang sama.
Memang tidak ada yang salah dan melarang Anda apabila semua kegiatan yang sudah diuraikan tadi menggunakan AJAX. Pengguna akan melihat bahwa aplikasi web tersebut terkesan profesional karena setiap kali Pengguna meminta data ke server dan menampilkannya kembali ke browser Pengguna melalui aplikasi web yang Anda buat, maka halaman tersebut tidak dimuat ulang. Tapi, tunggu dulu! Tahukah Anda, bahwa penggunaan AJAX di semua aktivitas yang dilakukan Pengguna mulai dari navigasi halaman dan record sampai kepada mencari data dan menampilkannya kembali ke browser Pengguna justru bisa menjadi bumerang? Mengapa? Coba Anda perhatikan dengan teliti URL halaman tersebut. Apakah terjadi perubahan? Jika Pengguna menginginkan URL dari sebuah halaman yang dihasilkan dari suatu aktivitas yang dia lakukan di halaman List tadi, apakah bisa dibedakan antara satu kondisi dengan kondisi yang lain?
Hehehe, di situlah yang saya maksudkan dengan penggunaan AJAX yang berlebihan ternyata berakibat kepada hilangnya fungsi lain yang dibutuhkan oleh Pengguna. Fungsi lain itu adalah penyesuaian alamat URL yang seharusnya terjadi di setiap aktivitas yang dilakukan oleh Pengguna. Karena menggunakan AJAX, maka URL dari halaman yang menggunakan AJAX tersebut tidak akan pernah disesuaikan. Akibatnya, Pengguna misalnya tidak dapat menyalin URL dari sebuah halaman yang menampilkan record-record tertentu berdasarkan kriteria pencarian yang ditentukan oleh Pengguna. Sementara kita ketahui bersama bahwa sering kali URL ini bermanfaat buat Pengguna untuk menandai atau mem-bookmark suatu halaman berdasarkan kondisi tertentu di sebuah aplikasi web.
Tentu timbul pertanyaan, pada saat kapan sebaiknya AJAX itu digunakan? Penggunaan AJAX sebaiknya hanya digunakan untuk hal-hal tertentu saja yang memang tidak membutuhkan perubahan URL dari suatu halaman. Contoh, ketika Pengguna ingin mengetahui detail record dari sebuah record master tertentu, maka di situlah perlunya AJAX dimainkan! Data detail dari record master diambil dari server dan ditampilkan dalam bentuk popup message menggunakan AJAX. Dengan cara ini, maka halaman utama yang menampilkan data atau record master tetap memiliki URL sendiri yang bisa dibedakan dengan halaman record master lainnya.
Sesuatu yang berlebihan memang tidak baik. Nah, pertanyaannya adalah, apakah di aplikasi web yang Anda kembangkan menggunakan AJAX yang berlebihan? 🙂
Pembelajaran yang bagus pak, jadi pengen serius juga di Web Programming…
Sangat bermanfaat.
Terima kasih