Pemrograman ajax yang baik
Tulisan ini terinspirasi dari tulisan saya di sini dimana salah satu pembaca berkomentar bahwa ajax tidaklah seperti yang saya katakan. Memang benar bahwa kita tidak dapat menilai bahwa suatu teknologi bermanfaat atau tidak hanya dengan melihat 2 hasil saja. Sebenarnya ditulias tersebut saya hanya menumpahkan kekesalan saya akan susahnya mengakses email saya di Yahoo dan Gmail yang secara default mengarahkan penggunanya ke tampilan full ajax. Terima kasih banyak atas tanggapannya. Untuk itu saya ingin menuliskan pendapat saya mengenai penggunaan ajax yang baik.
Ajax merupakan teknologi web terbaru yang memungkinkan interaksi pengguna dan web lebih aktraktif dan juga lebih efisien dalam tranfer data Kenapa? Karena dengan ajax kita dapat me-refresh atau me-load sebagian konten yang perlu diupdate.dengan demikian bagian web lainnya seperti header, footer, sidebar, dan bagian lainnya tidak perlu di load ulang. Kita hanya meload konten yang berubah saja. Dengan demikian akan lebih efisien dalam transfer data, aplikasi lebih responsif, dan pengguna lebih mudah berinteraksi dengan web layaknya aplikasi desktop. Pada teknologi web sebelum ajax untuk menampilkan konten yang berubah kita harus meload halaman web secara keseluruhan tanpa peduli bahwa ada bagian web yang kontennya tidak berubah. Namun ada beberapa kekurangan teknologi ajax yang untuk dapat bekerja harus menggunakan browser dengan fungsi javascript yang di aktifkan. Tanpa javascript, ajax tidak akan berjalan. Kekurangan teknologi ajax tersebut adalah:
- Konten yang ditampilkan dengan ajax tidak dapat dibaca oleh search engine. Hal ini karena javascript hanya aktif di browser, bot search engine tidak dapat menjalankan javascript. Padahal kebanyakan web memperoleh pengunjung baru dari search engine. Akibatnya konten kita tidak dindex di search engine dan sulit untuk dicari dari search engine.
- Hanya dapat berjalan di browser terbaru. Dulu saya membuat aplikasi dengan fitur ajax untuk digunakan internal di kantor saya bekerja. Ternyata banyak komputer kantor masih menggunakan Windows XP tanpa service pack 2. Hasilnya dengan Internet Explorer 6 yang belum mendukung ajax maka aplikasi saya tidak dapat digunakan di beberapa komputer. Melakukan instalasi service pack 2 atau firefox terbaru bukanlah pekerjaan mudah dengan jumlah komputer yang sangat banyak mencapai ratusan.
- Web yang menggunakan ajax akan kesulitan untuk ditampilkan di perangkat mobile. Ada banyak pengguna internet menggunakan handphone untuk mengakses internet saat sedang santai. Browser handphone hampir 80% tidak mendukung javascript yang artinya ajax tidak dapat berfungsi bila ditampilkan pada browser handphone.
Karena itu penggunaan ajax yang berlebihan dan tidak pada tempatnya akan merugikan kita para developer karena pengguna atau pengunjung web kita akan kesulitan mengakses dan menggunakan web yang kita kembangkan tersebut. Untuk itu inilah tips dan trik menggunakan ajax secara tepat pada aplikasi atau website anda:
- Pikirkan target pengguna anda, bila sasaran anda adalah pengguna handphone misalnya untuk berjualan konten mobile maka lupakan untuk menggunakan ajax. Karena pengguna atau pengunjung anda tidak dapat mengaksesnya dengan baik. Apa gunanya anda mengembangkan aplikasi atau web anda tanpa ada pengguna.
- Gunakan ajax hanya untuk konten yang betul-betul dinamis alias sangat sering berubah. Jangan gunakan pada konten yang jarang berubah misalnya konten pada blog. Tulisan pada blog biasanya sangat jarang diubah setelah diposting. Biasanya hanya update kecil untuk memperbaiki beberapa tulisan. Walaupun secara konsep, dengan template dan layout yang sama setiap posting maka memungkinkan penggunaan ajax namun dalam hal ini ajax merugikan anda. Karena konten blog anda tidak terbaca oleh search engine dan pengunjung akan kesulitan menemukan tulisan anda di search engine. Contoh konten yang sering berubah adalah tampilan livescore.com yang secara otomatis mereload hasil pertandingan olahraga secara berkala dalam rentang waktu tertentu. Hasilnya score dapat diupdate tanpa mereload tampilan website secara keseluruhan.
- Penggunaan pada submit form atau upload file. Contohnya anda bisa menggunakan ajax misalnya pada pengisian komentar dan diload dengan ajax untuk menampilkan komentar yang baru anda submit. Atau upload file dengan ajax tanpa harus mereload keseluruhan website.
- Pada aplikasi web biasanya tidak membutuhkan akses search engine, karena hanya ditujukan kepada pengguna aplikasi. Karena itu penggunaan ajax lebih flexibel. Anda dapat menggunakan ajax dimanapun pada aplikasi anda karena biasanya aplikasi web memiliki konten yang sangat dinamis. Selain itu aplikasi lebih memerlukan respon cepat dari interaksi pengguna yang bisa dilakukan dengan ajax. Namun yang perlu diingat, sebaiknya jangan melakukan load objek secara berlebihan yang kemudian kita dapat dengan mudah mengupdate kontennya dengan ajax dan menampilkannya dengan javascript seperti tulisan saya di sebelumnya mengenai gmail dan yahoo mail yang terlalu berat diakses pada akses awal. Perhatikan selalu ukuran halaman web anda, karena walaupun tampilan lebih responsif namun pada saat load awal akan memakan waktu yang cukup lama.
- Gunakan selalu indikator loading atau status dari ajax. Ajax melakukan request atau biasa disebut callback tanpa memberikan indikator status dengan sendirinya. Programmer harus membuatnya agar mampu memberitahukan apakah request atau callback berhasil, sedang loading, atau gagal. Dengan demikian pengguna tidak melakukan klik atau request berlebihan karena tidak mengetahui apakah dia telah melakukan request atau belum dan juga pengguna tidak menunggu terlalu lama tanpa mengetahui hasilnya.
Itulah pendapat saya mengenai pemrograman web dengan ajax. Ada yang tidak setuju? Atau mau menambahkan? Silakan berkomentar, saya tunggu agar artikel ini lebih baik lagi. Terima kasih.




May 29, 2008 at 5:23 am
keren kang..
May 29, 2008 at 10:02 am
Tentang ajax tidak bisa dibaca oleh Search Engine, setahu saya sudah banyak sekali solusi untuk menanganinya, jadi tidak terlalu masalah.
Tapi saya setuju sekali, bahwa segala sesuatu harus ditempatkan pada tempatnya. Penyakit kita adalah kadang sudah tidak cermat melihat hakikat dari sebuah teknologi atau platform. Semua teknologi dan platform adalah alat dan bukan tujuan kita.
Jika ternyata sebuah website misalnya sudah cukup dan worthed secara itung2an untuk pakai static, ya kenapa harus dinamis, walaupun di dynamis sudah ada fasilitas cache. Mirip2lah teman2 yang belanja HP yang canggih2 dengan nanya fitur2 macam2, padahal belum butuh.
May 29, 2008 at 4:07 pm
Sebenarnya solusi basic dari Ajax yang search engine friendly adalah memberikan content yang berbeda antara pengunjung dan search engine. Dengan melakukan deteksi agent pada pengunjung, bila dideteksi pengunjung adalah bot search engine maka konten yang diberikan adalah konten yang dapat diindex oleh bot search engine, namun bila pengunjung adalah manusia maka akan diberikan konten berbasis ajax. Solusi cerdik, namun salah satu aturan search engine adalah melarang cloaking atau memberikan tampilan berbeda antara manusia dan search engine, dan bila ketahuan kemungkinan di banned atau diturunkan rangkingnya oleh search engine. Dan ajax tanpa javascript sampai saat ini tidak mungkin, dan search engine sampai saat ini tidak dapat menjalankan javascript. Namun kita perlu ingat bahwa kita membuat web untuk user sebenarnya tau manusia, bukan untuk search engine. Jadi dengan memberikan konten sebaik mungkin maka saja yakin suatu web tetap dikunjungi. Terima kasih komentarnya semua.
June 11, 2008 at 6:29 pm
well, for mor or less, those crawler are dumb..
)
June 14, 2008 at 4:32 am
eh yo, cms yang pake smarty apaan yo namanya? gw kok lupa.. drupal bukan?
June 14, 2008 at 1:32 pm
Hai Bar… Drupal bs make smarty Bar, tp smarty bukan template engine drupal secara default jadi untuk make Smarty harus nginstal modulenya dulu. Drupal template default-nya make phptemplate. Klo mo liat cms yg make smarty bisa lihat disini.
July 18, 2008 at 5:00 pm
Pemilihan framework javascript juga berpengaruh pada kecepatan loading lho. Tehnologi Ajax memang keren.
salam.
July 19, 2008 at 7:46 pm
Setuju.. makasih atas tambahannya.
March 4, 2009 at 8:56 pm
Dear All,..Saya mempunyai situs yang rencananya akan di update dgn menggunakan teknologi Ajax, tetapi setelah membaca posting ini saya jadi kwatir kalo teknolgi Ajax ini menghambat crawl search engine,..selain cloaking page, ada solusi lagi gak untuk menyiasati coding Ajax yang search engine friedly ? Terima kasih, dan salam kenal dari saya.
March 5, 2009 at 10:14 pm
Menurut saya sih kalo ga perlu ajax ya ga usah pake Ajax. Ga usah maksain pake Ajax cuma buat update teknologi.
Pake Ajax mending untuk keperluan seperti live search, chat, update status, upload file, dll. Kalau untuk menampilkan post atau page pada blog kayaknya ga usah pake Ajax.
March 17, 2009 at 5:08 pm
good …!!
April 14, 2009 at 8:25 am
wah makasih infonya mas. thx
September 8, 2009 at 8:44 am
Makasih atas informasinya !! berguna sekali informasinya