Dalam proses pengembangan program AJAX, banyak orang akan melakukan beberapa kesalahan umum. Beberapa kesalahan dapat membahayakan fungsi dan kinerja program AJAX sehingga menyebabkan hilangnya semua keunggulan program AJAX. Di sini penulis akan memperkenalkan kepada Anda tujuh dosa mematikan yang perlu Anda perhatikan ketika mengembangkan program AJAX.
AJAX adalah hal yang baik, memungkinkan pengembang untuk membangun aplikasi yang lebih dinamis dengan lebih cepat dan efisien. Namun ia juga mempunyai kekurangan tersendiri.
Pada pandangan pertama, tampaknya sedikit akal sehat dapat mencegah jebakan ini, dan sampai batas tertentu, memang demikian. Namun dibandingkan dengan saingannya DHTML, arsitektur program AJAX benar-benar berbeda. Tidak peduli seberapa banyak akal sehat yang Anda miliki dalam upaya pengembangan aplikasi, Anda harus belajar dari pengalaman orang-orang sebelum Anda. Dalam artikel ini, kami menyebut kesalahan ini sebagai "Tujuh Dosa Mematikan", namun kesalahan tersebut tidak mewakili semua kesalahan.
Sebelum kita mempelajari tujuh kesalahan fatal dalam pengembangan AJAX, mari kita lihat tujuh kesalahan yang kurang serius. Semua orang melakukan kesalahan ini. Lakukan pencarian Google dan Anda akan melihat seberapa umum kesalahan ini.
tujuh pelanggaran ringan
1. Menyalahgunakan tombol kembali - Banyak orang melakukan kesalahan ini, dan tombol kembali telah menjadi hal yang harus dimiliki di banyak program pengalaman web. Banyak pengembang AJAX pemula menambahkan tombol kembali ke program AJAX mereka karena berbagai alasan, tetapi ternyata tombol kembali mempengaruhi fungsionalitas program. Hal ini terutama karena Javascript bukanlah bahasa pemrograman yang mudah digunakan. Kedua, pengembang harus mempelajari kembali ide pengembangan AJAX.
Bagi mereka yang baru mengenal AJAX, tidak mudah menerima gagasan bahwa tombol kembali bukanlah solusi yang baik. Saat kita berada di titik penyegaran halaman, atau saat kita perlu menggunakan fungsi "Batalkan", kita dapat mempertimbangkan "tombol kembali". Namun Anda harus berpikir dua kali sebelum membuat kode, jika tidak, penyegaran berulang akan mudah terjadi.
2. Tidak memberi tahu pengguna tentang hasil operasi - Bagian dari cara kerja AJAX adalah ia tidak menggunakan pemuat antarmuka pengguna web biasa. Oleh karena itu, Anda perlu merancang beberapa isyarat visual agar pengguna memahami apa yang terjadi.
3. Tautan yang diabaikan - Ini juga merupakan kesalahan standar AJAX: mengabaikan tautan URL yang dapat dipotong dan ditempel oleh pengguna eksternal. Kita semua telah menyalin URL dan mengirimkannya ke orang lain. Saat kami menggunakan AJAX, kami hanya dapat memberikan link ke orang lain melalui input manual murni. Mengapa? Karena pada aplikasi AJAX, server tidak menyediakan halaman ini secara otomatis dibuat dalam Javascript. Jangan abaikan fitur paling umum ini di aplikasi web yang mungkin diminati pengguna Anda. Harap luangkan waktu sejenak untuk memberikan alamat URL kepada pengguna, karena server tidak menyediakannya.
4. Gunakan kontrol konten alih-alih kontrol halaman - Jika Anda mencari kontrol konten dinamis, terobosan aplikasi AJAX dalam metode interaksi klien-server tradisional dapat menjadi hadiah yang bagus untuk Anda. Namun, hal ini juga memiliki kekurangannya sendiri: meskipun Anda memiliki kendali besar atas penulisan ulang konten di lokasi yang tepat pada halaman untuk menyesuaikan pengalaman interaksi pengguna, Anda mungkin akan mendapatkan halaman yang tidak lengkap.
Dalam banyak kasus, kita fokus pada pemrosesan bagian halaman tertentu dan lupa bahwa server tidak akan menyegarkan halaman tersebut. Hal ini dapat menyebabkan halaman berantakan dan pengalaman pengguna yang buruk: saat mereka melihat halaman tersebut, mereka mungkin melihat halaman yang sudah ketinggalan zaman. Harap perhatikan seluruh halaman; pastikan setiap halaman dengan konten dinamis diperbarui.
5. Laba-laba lelah--Kelebihan AJAX terletak pada banyaknya teks yang dapat diberikan ke halaman tanpa menginstal ulang; kelemahan AJAX juga terletak pada banyaknya teks yang dapat diberikan ke halaman tanpa menginstal ulang. Jika suatu aplikasi dirancang agar ramah mesin pencari, Anda harus bisa membayangkan apa yang bisa terjadi. Apa pun yang terjadi pada halaman tersebut, pastikan untuk meletakkan banyak teks padat di bagian atas dan biarkan laba-laba bersenang-senang.
6. Karakter kacau - AJAX tidak dapat mendukung banyak rangkaian karakter. Ini bukanlah batasan hidup atau mati, namun melupakannya dapat menimbulkan masalah yang nyata. Kumpulan karakter paling dasar adalah UTF-8. Apa pun rangkaian karakter yang dikirimkan Javascript Anda, jangan lupa untuk menyandikannya dengan benar dan mengatur rangkaian karakter sisi server berdasarkan konten.
7. Tidak ada perintah yang diberikan untuk pengguna yang tidak mendukung Javascript - beberapa browser tidak mendukung Javascript, dan pengguna ini tidak dapat memahami apa yang sedang terjadi. Tolong beri mereka beberapa tip.
Di atas adalah beberapa kesalahan yang mudah ditemukan. Masalah sebenarnya mudah diabaikan.
tujuh dosa mematikan
1. Biarkan memori meluap - Siapa pun yang telah lama terlibat dalam pekerjaan pengembangan mengetahui apa itu referensi melingkar dan memahami kerugian yang ditimbulkan oleh referensi melingkar terhadap manajemen memori. Javascript yang digunakan oleh AJAX adalah bahasa manajemen memori. Dengan kata lain, Javascript memiliki fungsi pengumpulan paket bawaan, sehingga dapat mengekstrak variabel yang tidak lagi digunakan oleh jalur referensi dan mengalokasikan kembali memori yang digunakan oleh variabel tersebut.
Siapa pun yang telah lama bekerja di bidang pengembangan mengetahui apa itu referensi melingkar dan memahami bahaya yang ditimbulkannya terhadap manajemen memori. Javascript yang digunakan oleh AJAX adalah bahasa manajemen memori. Dengan kata lain, Javascript memiliki fungsi pengumpulan paket bawaan, sehingga dapat mengekstrak variabel yang tidak lagi digunakan oleh jalur referensi dan mengalokasikan kembali memori yang digunakan oleh variabel tersebut.
Sekarang, inilah masalahnya: dalam model objek file, setiap node DOM di pohon file dapat direferensikan oleh elemen lain yang ada di pohon, terlepas dari apakah node tersebut direferensikan oleh objek lain! Oleh karena itu, objek apa pun yang ditandai dalam pengumpul paket sebagai direferensikan kembali oleh node DOM harus bernilai nol dalam arah ini, jika tidak, memorinya akan tetap dialokasikan.
2. Tidak mengerti apa yang dimaksud dengan “asynchronous” – Kata asynchronous dapat dengan mudah membuat pengguna yang tidak terbiasa dengannya merasa gugup. Namun jika aplikasi web yang Anda desain untuk pengguna ini adalah aplikasi desktop, mereka tidak akan kecewa. Ini adalah poin desain yang penting. Sebagian besar aplikasi web berfungsi sangat mirip dengan aplikasi desktop. Namun dalam aplikasi web, pengguna mengharapkan kualitas ilusi ini membuat mereka menjadi benar-benar berbeda.
Pengguna memiliki bias dan harapan yang sangat berbeda ketika berhadapan dengan browser web dibandingkan dengan aplikasi desktop. Jadi, meskipun respons yang sering dilakukan antara laman dan server akan bagus dan efisien, dengan revisi laman secara bersamaan, hal ini akan membuat pengguna pusing. Oleh karena itu, Anda perlu mengikuti dua aturan dan mempertimbangkan setiap perubahan yang masuk ke jangkauan visual pengguna: Jika pembaruan tidak mendesak bagi pengguna, maka lakukan pemutakhiran secara lembut dan jangan ditransfer; interaksi aplikasi sangat penting, jadi pembaruan harus jelas dan nyata.
3. Membuat server buta - berkurangnya komunikasi antara klien dan server merupakan masalah besar, yang sebelumnya tidak terjadi. Di masa lalu, aplikasi sisi server mengetahui segalanya dan dapat melihat semuanya: setiap pengecualian, setiap pemuatan ulang, setiap peristiwa dapat dilihat dan dicatat, dan tentu saja server juga mengetahui apa yang terjadi pada klien, karena server Apa yang ditampilkan di layar akan direkam.
Hal ini tidak terjadi pada aplikasi AJAX. Ketika peristiwa terjadi, peristiwa ini tidak bergantung pada server. Artinya, ketika ada masalah pada klien, server tidak langsung mengetahuinya. Temukan dan catat peristiwa dan pengecualian sisi klien di lokasi yang memungkinkan server melacak masalah yang memerlukan intervensi.
4. Gunakan GET untuk bermalas-malasan - fungsi GET adalah untuk mengambil data; fungsi POST adalah untuk mengatur GET. Jangan gunakan GET secara tidak tepat, dan jangan coba-coba jika menurut Anda tidak berbahaya. Tindakan GET mengubah status, dan tautan yang mengubah status dapat membingungkan pengguna; sebagian besar percaya bahwa tautan ditujukan untuk navigasi, bukan fungsionalitas.
5. Tidak ada pemantauan tipe data - Javascript bukan bagian dari kerangka .NET. Meskipun ini agak menyedihkan, hal ini menggambarkan masalah yang mungkin kita temui: memastikan bahwa Javascript memahami tipe data pada platform yang menjalankannya, dan sebaliknya untuk .NET atau lainnya. Mungkin ada beberapa konversi dan Anda perlu melakukannya satu per satu. Misalnya, perpustakaan Ajax.NET Pro menyediakan konverter yang mengonversi notasi objek .NET dan Javascript.
6. Beberapa program tidak dapat ditutup - pembuatan konten dinamis tanpa menyegarkan halaman akan sangat buruk jika tidak ada waktu penutupan. Berapa banyak halaman Web yang Anda miliki Berapa banyak halaman web yang pernah Anda lihat yang lebih panjang dari Hansard of Congress? Jika halaman web meluas tanpa batas waktu, niscaya akan menjadi mimpi buruk bagi pengguna. Coba pikirkan apa pendapat pengguna tentang aplikasi yang tidak pernah berhenti. Jadikan aplikasi web Anda dinamis, namun dalam batas yang memungkinkan.
7. Jadikan Javascript dan DOM independen satu sama lain - ingat bahwa AJAX didasarkan pada struktur "Model-View-Controller" (Model-View-Controller), harap perhatikan ini dengan serius. Javascript milik lapisan model, DOM milik lapisan visual, dan pengontrol adalah konsultan pernikahan yang menghubungkannya. Pastikan file web Anda tidak bergantung pada Javascript (sehingga lebih berguna bagi pengguna yang tidak mendukung Javascript) - kecuali konten itu sendiri hanya bermakna bagi pengguna yang menggunakan Javascript. Dalam hal ini, gunakan Javascript untuk membuat konten