تقنية AJAX؟ إيجابياتها وسلبياتها؟
بواسطة وسام مويس | في تصنيف البرمجة | قراءة: 172 | في 30 يوليو 2009 |
0
إن المصطلح AJAX مشتق من الجملة Asynchronous JavaScript And XML, والتي هي عبارة عن مجموعة من التقنيات المترابطة المستخدمة في تطوير مواقع الويب والتي تعمل على طرف المستخدم Client-Side لبنا تطبيقات ويب تفاعلية. حيث تسمح هذه التقنية لتطبيقات الويب بتبادل المعلومات مع السيرفر بشكل غير متزامن في الخلفية دون التأثير طريقة عرض وسلوك الصفحة الحالية, وقد أدى استخدام تقنية AJAX إلى زيادة المؤثرات الحركية التفاعلية في صفحات الويب, وزيادة جودة خدمات الويب نتيجة هذا الوضع غير المتزامن. ويتم تبادل البيانات باستخدام هذه التقنية من خلال الكائن XMLHttpRequest.
فوائد استخدام AJAX:
- في معظم الأحيان تكون صفحات الويب المترابطة مع بعضها حاوية على الكثير من أجزاء البيانات المتماثلة والتي يتم إعادة تحميلها عند كل طلب لصفحة من صفحات الموقع في حال استخدام الطرق الاعتيادية في التطوير, أما في حال استخدام AJAX فإنه لن يتم طلب وتحميل سوى البيانات الجديدة المطلوبة, مما يقلل من معدل نقل البيانات Bandwidth وزمن تحميل الصفحة Load Time, على سبيل المثال وفي مجلة الحاسبات تم استخدام تقنية AJAX في عملية تقييم المقالات حيث أنه عند تقييمك لمقالة ما عن طريق النجوم الظاهرة في أسفل المقالة لن يتم إعادة تحميل كافة الصفحة, وإنما سيتم إرسال التقييم الذي قدمته, وإحضار النتائج فقط, وإظهارها, دون الحاجة إلى إعادة تحميل الصفحة كاملة.
- إن استخدام تقنية AJAX يقلل اتصالات العميل مع خادم الويب حيث الملفات الإضافية مثل ملفات الأنماط CSS وملفات المقاطع البرمجية Scripts لن يتم تحميلها سوى مرة واحدة, عند الطلب الأول للصفحة.
- إن استخدام الطلبات غير المتزامنة asynchronous requests يسمح لواجهة استخدام متصفح الويب بأن تصبح أكثر فاعلية وأكثر قدرة على التفاعل والاستجابة السريعة لطلبات المستخدم, كما تسمح لأجزاء من الصفحة بأن يتم إعادة تحميلها بشكل فردي, كالجزء المتعلق بعدد المستخدمين على الخط والذي يفضل أن يتابع حالة المستخدمين مثلا عند قراءتك لمقالة في موقع ما.
- يمكن الحفاظ على الحالة State في الموقع من خلال متغيرات JavaScript والتي تحافظ على قيمتها طالما أن الصفحة لا يتم إعادة تحميلها (يتم إعادة تحميل أجزاء الصفحة فقط).
سيئات استخدام AJAX:
- إن الصفحات التي يتم توليدها عن طريق طلبات AJAX لا يتم حفظها في محرك محفوظات المتصفح, وبالتالي فإن الضغط على زر الخلف في المتصفح قد لا يعيد الصفحة إلى الحالة السابقة لطلب AJAX, وإنما يعيد المستخدم إلى الصفحة السابقة.
- تحديثات الصفحة الديناميكية التي تتم باستخدام AJAX تجعل من الصعب على المستخدم إضافة الصفحة ويب بحالتها الحالية إلى المفضلة, ويتم حل هذه المشكلة بتوسيع رابط الصفحة URL عن طريق استخدام معرف تجزئة الرابطURL fragment identifier (وهو الجزء الذي يأتي بعد المحرف ‘#’ في رابط الصفحة).
- إن معظم محركات الويب لا تقوم بتنفيذ شيفرات JavaScript, وبالتالي فإن تطبيقات الويب القابلة للأرشفة العامة يجب أن تؤمن وسائل بديلة للوصول إلى المحتويات التي يتم الوصول إليها عادة بتقنية AJAX, وذلك للسماح لهذه المحركات بأرشفة هذه المحتويات.
- إن أي مستخدم لا يدعم متصفحه تقنيتي Ajax و JavaScript, أو قام ببساطة بإيقاف تنفيذ أكواد JavaScript, لن يكون باستطاعته طلب تلك المحتويات الديناميكية. وكذلك هو الأمر بالنسبة للأجهزة الأخرى مثل أجهزة الهواتف الخلوية وقارئات الشاشات وغيرها, والتي غالبا لا تكون داعمة لـ JavaScript أو للكائن XMLHttpRequest.
- من المحتمل أن يؤدي استخدام تقنية AJAX إلى ظهور ثغرات أمنية قد لا يلاحظها مطوير الويب, تسمح للمخترقين باختراق تطبيق الويب.
المصدر: http://en.wikipedia.org/wiki/Ajax_(programming)
إعداد وترجمة: وسام مويس

