# إطار عمل أجاكس

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

## فوائد إطار العمل

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

## أنواع إطارات العمل

يمكن أن تقسم إلى فئات وفقاً للميزات التي توفرها والمهارات المطلوبة للمستخدم:

### إطارات عمل أجاكس المباشرة

تتطلب هذه الاطارات لغة ترميز النص الفائق وصفحات الطرز المتراصة وخبرة اجاكس: من المتوقع أن ينشئ المطور صفحاته باستخدام صفحات HTML وواجهات برمجة تطبيقات إطار العمل والتي تتعامل مباشرة مع عناصر HTML. عبر متصفح واجهات برمجة التطبيقات يتم توفير مجموعة متنوعة من الأغراض، بما في ذلك الاتصالات، تحكم DOM، والتعامل مع الأحداث، والتحجيم / نقل عناصر HTML.
هذه الاطارات عموما تكون صغيرة. وهي تُستخدم عادة لموقع على شبكة الإنترنت، مثل تجربة التسوق، ولكن ليست للتطبيقات على شبكة الإنترنت مثل البريد الإلكتروني، على الأقل ليس من دون اطارات أخرى أعلى المستويات.

### إطارات عمل أجاكس غير المباشرة

هذه الاطارات قائمة على تقنية المترجم، حيث بدلا من كتابة اجاكس مباشر وجافا سكريبت، فإن لغة برمجة عالية المستوى تستخدم بدلا من ذلك، إلى جانب المترجم الذي يحوّل تلك اللغة إلى جافا سكريبت. لذلك تتطلب الاطارات غير المباشرة معرفة لغة رفيعة المستوى، CSS و HTML، وأنها لا تتطلب بالضرورة قدرا كبيرا من الخبرة للتعامل مع اجاكس أو جافا سكريبت. الاطارات غير المباشرة عادة ما تكون مصحوبة بمكتبات ملائمة، الوحدات (Modules) والطبقات (Classes) (مكتوبة بلغة عالية المستوى) التي تتولى رعاية الاتصالات، التحكم بـ DOM ويشمل تحكم عناصر HTML، والتعامل مع الأحداث.
مزايا اطارات اجاكس غير المباشرة—ترجمة إلى جافا سكريبت—هي:
* يمكن للمطور بشكل فعال اقامة اطار عمل اجاكس باستخدام مفاهيم البرمجة والتقنيات الملائمة للغة عالية المستوى (مثل الوحدات (Modules) والطبقات (Classes)) التي هي غير موجودة في لغة جافا سكريبت.
* مترجم جافا سكريبت يمكنه تنفيذ فحص قوي وتحديد القواعد التي لا تحددها جافا سكريبت المستقلة.
* يمكن لأي مطور برمجة الجبهة الامامية لشبكة الإنترنت بنفس لغة البرمجة التي كُتبت في الملقم.
* مجموعات جزء الشبكة على الإنترنت العالي المستوى لاطارات عمل الاجاكس الغير مباشرة لدينا يملك الكثير من القواسم المشتركة مع احتياجات سطح المكتب أكثر مما تفعل مع تطوير الشبكة «التقليدية» على الإنترنت.
* اطار العمل، من خلال مترجم، يمكن أن يخلق البرمجية التي تعتني بتعارض المتصفح في وقت التشغيل، وبالتالي يمكن أن يقدم متصفح بواجهات برمجية مستقلة للمطور.
اطارات عمل اجاكس الغير مباشرة تملك ايجابيات هامة ومتنوعة:
* بالمقارنة مع اطارات عمل محتوى الاجاكس، يمكن للمطور استخدام قاعدة الاحتياجات المتاحة لخلق طبقة من الاحتياجات الخاصة، في لغة عالية المستوى مع ما يلائمها، بدلا من محاولة الحصول على السيطرة على جافا سكريبت.
* المطور بالتالي ليس مثقل بكبر اطارات عمل محتوى الاجاكس ولا محدود بصرامتها.
* المطور يملك مزايا اطارات عمل محتوى الاجاكس، وما يرتبط بها من الاحتياجات، فضلا عن مزايا حرية اطارات عمل الاجاكس المباشرة.
* اطارات عمل الاجاكس الغير مباشرة يمكن استخدامها لتأثير أكبر في توليفة مع اطار عمل يُدار بواسطة خادم (عادة باستخدام JSONRPC أو اكس أم ال-أر بيه سي).
ومن المثير للاهتمام، بايثون وروبي هما وصلة جيدة للتجميع لجافا سكريبت، وهي وصلة أفضل بكثير من جافا، وذلك لأن جافا (أجهزة جافا الافتراضية) تحتاج قدرات وقت التشغيل للجافا سكريبت، بيثون وروبي. لحسن الحظ بالنسبة لجافا (وGWT)، انها جافا التي هي أقل قدرة ديناميكية من جافاسكريبت. قدرة «الطبقة» لهذه اللغات عالية المستوى يمكن مضاهاتها باستخدام نموذج جافا سكريبت.

### اطارات عمل مكون اجاكس

هذه الاطارات تعرض مكونات مبنية سابقاً، مثل الألواح المبوبة، التي تلقائيا تنشئ وتدير عناصر HTML وهي عموماً أُنشئت بو اسطة جافا سكريبت أو XML أو بواسطة إضافة سمات خاصة لعناصر HTML العادية. هذه الاطارات تكون عادة أكبر، ومقصودة لتطبيقات الشبكة بدلا من المواقع على شبكة الإنترنت.
بعض الاطارات تتطلب المطور ليكون عنده خبرة مستفيضة لـ HTML و CSS واجاكس وعمل اختبار عبر المتصفح. على سبيل المثال، الشبكات، علامات التبويب، والازرار، قد تكون موجودة، ولكن نماذج ادخال المستخدم من المتوقع أن تُؤلف مباشرة في HTML و CSS ومُدارة بواسطة تقنيات الاجاكس. اطارات أخرى توفر تركيبة عنصر متكاملة، مثل قدرات XML وجافا سكريبت أو واحد منهما فقط مطلوبة.
اطارات عمل عنصر اجاكس يمكّن من تحقيق التنمية السريعة أكثر من اطارات عمل اجاكس المباشرة، ولكن مع سيطرة أقل، وبالتالي هو المفتاح الذي اطارات عمل عنصر اجاكس ينص على ما يلي:
* تخصيص واجهات برمجة التطبيقات، على سبيل المثال، الحدث الذي يحدث عندما يقوم المستخدم بتوقيف التحرير داخل الشبكة
* ازالة التسهيلات، حيث ان ظهورها يمكن ان يتغير دون أن يؤثر ذلك على السلوك أو العرض
* مراقبة البرامج، على سبيل المثال، بشكل حيوي إضافة علامات تبويب أو خلق مكونات استنادا على بيانات المستخدم
* القابلية للتمدد- خلق عناصر جديدة تقوم على العناصر الأخرى، ولذلك فان فوائد اطار عمل الذي يقوم على عنصر لن يتم فقدانه

### اطارات عمل اجاكس مُدارة بواسطة الخادم

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