تقنية AJAX - جديد العلم والمعرفة

    • تقنية AJAX - جديد العلم والمعرفة

      ما هي AJAX ؟
      مصطلح AJAX هو إختصار لعبارة : Asynchronous JavaScript and XML أو ما يمكن ترجمته الجافا سكربت و الـ XML الغير تزامنية تعتبر إستخدام ذكي لخصائص معينة موجودة مسبقاً في تقنيات معروفة مثل Javas Script و XML !
      هي عبارة عن إستخدام متكامل لخصائص لغتين من اللغات المستخدمة في تطوير المواقع ، الجافا سكربت و الـ XML . ببساطة تتيح AJAX عملية إرسال البيانات للسيرفر و إستقبالها منه دون أن يكون هناك إعادة تحميل للصفحة ، على سبيل المثال ، الموقع الذى لا يستخدمهذه التقنيه ، فإنك عند إستخدامك مربع البحث بكتابة عبارة لتبحث عنها و النقر على زر بحث فإن صفحة جديدة كليا ستظهر لك فيها نتائج البحث ، عن طريق ajax بإمكاننا توفير عملية إعادة التحميل لكامل الصفحة ليكون الجزء المتغير فقط هو جزء نتائج البحث ، هذا على سبيل المثال ، و على سبيل المثال أيضاً ، عند تسجيلك في خدمة البريد الإلكتروني من أي شركة و كتابتك لإسم مستخدم محجوز مسبقاً فإنك لا تريد من الموقع أن يرسل الطلب كاملاً ثم يعيد تحميل نموذج الإشتراك و يشير اليك بمكان الخطأ ، أنت تريد فقط أن تبقى الصفحة على ما هي عليها و تظهر رسالة تخبرك بمكان هذ الخطأ ! هذا ما تتيحه لك AJAX ، تفاعل كامل بين جهاز الخادم (السيرفر) و المستخدم النهائي دون وجود ضرورة لإعادة تحميل عناصر الصفحة بأكملها للإنتقال إلى نتيجة الطلب الذي تم ارساله !
      نظرة تاريخية على AJAX
      ظهرت هذه التقنية في أوائل عام 2005 ، و لكن هذه التقنية كانت نتيجة مبادرات و جهود سابقة و إنجازات سابقة قامت بها شركة مايكروسوفت عن طريق ما يعرف بالـ Remote Scripting أو تنفيذ البريمجات عن بعد ، تقنيات مايكروسوفت في هذا المجال توالت خاصة مع جهود العديد من المطورين في مجموعات مايكروسوفت الإخبارية بتطوير هذه التقنية ، منذ عام 1998 منذ إطلاق الـ Remote Scripting كانت لمايكروسوفت و للعديد من المطورين جهود كبيرة ، منها تقنية الـ Callback في ASP .NET و منها الإضافة المهمة جداً في الـ XML و التي كانت مفتاح ظهور تقنية AJAX ، هذه الإضافة هي خاصية XMLHttpRequest التي أضيفت لمتصفح إنترنت إكسبلورر ، ثم بعد ذلك تلته بقية المتصفحات ، هذه الخاصية و بإستخدام دوال المناداة في الجافا سكربت شكلت بداية تقنية AJAX .
      المزايا و المساوئ
      على الرغم من أن تقنية AJAX من الوهلة الأولى تبدو مفيدة جدا ، الا ان لها بعض المساوئ التي قد تجعل البعض يمتنع عن إستخدامها ، سأبدأ بذكر مزايا هذه التقنية أولاً :
      1- التفاعلية :
      لا شك في أن إرسال البيانات من و إلى السيرفر بطريقة سريعة تزيد من التفاعلية و الديناميكية للتطبيقات ، هذا الأمر جعل التفاعلية من أهم خصائص AJAX ، تسمح هذه الميزه للمستخدمين بتوفير الكثير من وقتهم ، فبدلاً من إعادة تحميل صفحة نموذح الإشتراك في خدمة البريد الإلكتروني بكامل الصور و النصوص اذا كان هناك خطأ في أحد الحقول سيتم فقط إظهار رسالة في مكان الخطأ !
      2- قابلية النقل :
      هذه ميزة رائعة ايضاً إفتقرت لها تقنيات الـ Remote Scripting من مايكروسوفت ، بإمكانك تشغيل و نقل الجزئيات المكتوب بإستخدام تقنية AJAX من تطبيق الى آخر و من بيئة إلى أخرى و ستعمل دون أي تعديلات ، السبب في ذلك يعود الى ان هذه التقنية تستخدم كماذكرت الجافا سكربت و الـ XML و هما تقنيتان مدعومتان من كافة المتصفحات و في كافة منصات التشغيل !
      المساوئ
      1- التقليل من قابلية الإستخدام
      على سبيل المثال عند النقر على زر "الخلف" في المتصفح بعد إرسال طلب بتقنية AJAX سيتوقع المستخدم انه سيعود على وضع الصفحه قبل ارسال الطلب ، ولكن يتفاجأ انه يعود الى الصفحة التي تسبق الصفحة التي تسبق الصفحة التي يتوقعها ، بمعنى أن هذه الصفحات و الأجزاء المتغيرة بواسطة النداءات من هذه التقنية لا تؤثر في زر الخلف و تضاف هذه الصفحات في مسلسل الصفحات التي إستعرضتها لكي تعود اليها ! هذا الأمر قد يجعل الموقع غير قابل للإستخدام بالأسلوب الأمثل !
      2- التأخر في الرد من السيرفر
      لأن تقنية AJAX تختصر على المستخدم مسألة إعادة تحميل الصفحة من جديد ، فإن حدوث أي تأخير في الرد من قبل السيرفر للطلب الذي أرسل عن طريق تقنية AJAX سيجعل المستخدم في حيرة من أمره ، فهو لا يرى أي تفاعل من النظام ، أقصد هنا التفاعل الذي إعتاد على رؤيته و هو أن الصفحة يعاد تحميلها في إشارة يفهم منها المستخدم بأن المتصفح قد أرسل طلبه و هو على وشك إستقبال الرد من السيرفر ، ببساطة نستطيع أن نقول AJAX تخفي عن المستخدم أمر مهم جداً وهو الأحساس بوجود إرسال و إستقبال بين العميل و السيرفر !
      3- دعم الجافا سكربت و الـ Active X
      رغم أن هذه قد لا تعتبر مشكلة في أيامنا هذه مع تطور المتصفحات ، الا ان بعض الأجهزة القديمة و الأجهزة الكفية قد لا يتوفر فيها دعم متكامل للجافا سكربت و الـ Active X ، إن وجود دعم لهاتين التقنيتين أمر مهم جدا لكي يستفيد العميل النهائي من الموقع المصمم بتقنية AJAX ، الجافا سكربت لأن الطلب أصلاً يرسل من خلال الجافا سكربت ، اما الـ Active X في متصفحات الإنترنت إكسبلورر فهي لأن الـ XMLHttpRequest تأتي في المتصفح ضمن حزمة الـ Active X .





      المصدر: مدونة العلم والمعرفة

      ¨°o.O ( على كف القدر نمشي ولا ندري عن المكتوب ) O.o°¨
      ---
      أتمنى لكم إقامة طيبة في الساحة العمانية