أجاكس

**أَجَكْس ** تِقْنيَّة تجعل متصفحات الويب كسطح المكتب عملًا؛ فتَطلب الصفحةَ المفتوحة دون انتقال إلى صفحة جديدة كما هو الأصل في الوِب بأن يُرسِلَ البياناتِ من العميل (Client Side) إلى الخادوم (Server Side) معالَجةً لها، فيُعيدُها إليه محدَّثةَ المعلومات، وأمَّا أجكس فتُجري التعديل والطلب دون إعادة تحميل، فتُغيِّر ما أُرِيدَ تعديلُه في الصفحة نفسِها، متصلةً بخادوم الشبكة اتصالًا متفرعًا.
فتنتفعُ بها المواقع الكثيرة الزوار؛ فيقِل الجَهد عن خادومها، ويَقصُر زمن استجابتها في المتصفح.

وهي مبنية على لغات، أهمها: جافا سكرِبت، وXML، وHTML.

## تاريخ

مصطلح أجاكس ظهر أول مرة في مقالة بتاريخ 18 فبراير 2005 لكاتب أمريكي وقد وصف مجموعة تقنيات وأساليب استخدمت من قبل جوجل Google في جوجل أرث وجيميل (Gmail) تمكن المستخدم من التعامل مع الموقع الإلكتروني بطريقة تشبه برامج الحاسوب، حيث يقوم المستخدم بالقيام بأعماله من خلال صفحة واحدة.

للتذكير، فإن الأدوات المستعملة في هذه التقنية كانت موجودة قبل ظهور المقالة. ففي 2001، ظهر الأمر XMLHttp داخل مكتبة MSXML (المكتبة التي صممت في البدء لدعم المتصفح إنترنت اكسبلورر الإصدار 5). وظهر مكافئ له باسم XMLHttpRequest على متصفح موزيلا ومن ثم المتصفحات الأخرى.

## مقارنة مع [[تطبيق ويب|تطبيقات الويب]] الحالية

تطبيقات الويب سمحت بظهور مواقع تفاعلية (ملء استمارة، محتوى متجدد.). وتعتمد على نقل طلب إلى خادم الويب عبر بروتوكل HTTP، وبعد إنجاز الطلب المنقول يرد بصفحة ويب جديدة. هذه الآلية تتسبب في إعادة نقل بعض البيانات التي لم تتغير أصلا (وغالبا ما يكون التغيير بسيطا) ما يشكل ضياعا في الوقت واستعمالا غير عقلاني لوصلة الإنترنت من كلا الطرفين (الخادم والمستقبل).

التطبيقات التي تستعمل تقنية أجاكس تكتفي بنقل الطلب بأسلوب مشابه للتطبيقات العادية، ولكن تسترجع فقط ما يجب تغييره على صفحة الويب. التقنية تعتمد على لغة جافاسكريبت في الإرسال والاستقبال (باستعمال XMLHttpRequest) ومستفيدة من مزايا CSS. تقنية أجاكس تسمح بتفاعلية أكبر مع الموقع وبكلفة تشغيل بسيطة من جانب خادم الويب (حيث أن الرد غالبا ما يكون بسيطا) وسرعة رد من جانب المتصفح.

## عيوب أجاكس

* النقطة السوداء هي كون المتصفح (انترنيت اكسبلورر أو غيره) مضطر لاستعمال مكتبة كبيرة (تستهلك أكثر من 500 ك.بايت) للاستفادة من هذه التقنية.
* من أهم عيوب أجاكس أن المستخدم لايمكنة استخدام زر الرجوع إلى الصفحة السابقة في المتصفح، لأنه نظريا يستخدم نفس الصفحة، كما أنه لا يمكنه إضافة الصفحة التي يشاهدها إلى المفضلة في المتصفح وإنما يضيف الصفحة الرئيسة التي دخلها أول مرة.

إلا أنه في المتصفحات الحديثة يمكن استخدام
pushState لتغيير الصفحة والرجوع باستخدام Ajax

* يخشي الكثير من المبرمجين من نشاط الجافا سكربت الذي يعمل من دون سيطرة الشخص الذي يستعمل البرنامج، والجافا سكربت استخدمت في السابق كوسيلة لاختراق أجهزة الضحايا وأعمال الكراكرز.
* كل مستخدم لا يدعم متصفحه الجافا سكريبت أو تقنية XMLHttpRequest أو حتى بكل بساطة قام بتعطيل خاصية الجافا سكريبت، لن يستخدم الصفحات التي تعتمد على تقنية الآجاكس بشكل صحيح. الطريقة الوحيدة لتجنب هذا المشكل هو تطوير حلول عندما لا توجد هناك جافا سكريبت.
* مثل أي تقنية ويب أخرى، فإن أجاكس لديه جملة من نقاط الضعف التي يجب على المبرمجين أن يعرفوها. المبرمجين المعتادين على البرمجة بتقنيات ويب أخرى يجب عليهم أن يتعلموا طرق اختبار وبرمجة جديدة من أجل بناء وتطوير برامج أجاكس خالية من عيوب الحماية.

## مستقبل أجاكس

يعتقد الكثيرون أن عالم البرمجيات سيتحول إلى الويب بمعني أنه يمكنك استخدام البرامج المختلفة من خلال المتصفح وهناك مواقع كثيرة بدأت المشوار مثل تحويل ملفاتك إلى صيغ مختلفة من خلال المتصفح، بحيث أن تطبيقات الويب لم تعد صفحات بعد الآن بل أصبحت تطبيقات سطح مكتب حقيقية وكاملة في كثير من الأحيان.

## مكونات الأجاكس
أجاكس ليس لغة برمجية مستقلة ولكنها تقنية متقدمة تتكون من عدة تقنيات:
* جافا سكريبت وهي المسؤولة عن عرض العناصر بالصفحات وتتفاعل مع المستخدم.
* طلب نقل المعلومات وهي المسؤولة عن الاتصال بالسيرفر.
* لغة الترميز القابلة للامتداد وهي عبارة عن وسيط بين السيرفر وصفحات HTML.
* نموذج كائن المستند.

## انظر أيضاً
* جافا سكريبت
* طلب نقل المعلومات
* إطار عمل الأجاكس

## مصادر

* الجزء الخاص باستخدام التقنية في المكتبات ترجمة مجموعة المكتبيين العرب لتقرير لجاسون أ. كلارك والتصريح بالنقل في صفحة. النقاش

## وصلات خارجية

* 


تصنيف:اتصال بين العمليات
تصنيف:تطوير الويب
تصنيف:مصطلحات مستحدثة في ويب 2.0