عرض مشاركة واحدة
قديم 03-04-2019, 11:16 PM   #1
تاريخ التسجيل: Feb 2019
العمر: 38
المشاركات: 1,149
التقييم: 10
تاريخ التسجيل: Feb 2019
العمر: 38
المشاركات: 1,149
التقييم: 10
افتراضي ما هي العلاقة بين جيكويري وجافاسكريبت ؟

العديد من الإخوة في عالم برمجيات الويب، وبالخصوص المبتدئين منهم، يخلطون بين جافاسكريبت وجيكويري ولذلك قررت أن أوضح الأمور في تدوينة سريعة ومختصرة.
جيكويري مكتبة والجافاسكريبت لغة برمجة

بكل بساطة الجافاسكريبت هي لغة برمجة أما جيكويري فهي مكتبة للغة الجافاسكريبت لتبسيطها وتيسير كتابة شيفراتها، تماما مثلما هو الحال عند لغة البرمجة PHP وإطارات العمل الخاصة بها مثل سيمفوني، لارافيل، زند فريموورك أو عند لغة البايثون وإطار عملها الشهير دجانغو إلخ…
الجافاسكريبت لغة برمجة صممت في الأول لتعمل داخل المتصفح Browser أي أن هناك محرك مدمج داخل المتصفح الذي تستعمله يقوم بقراءة وترجمة أكواد الجافاسكريبت، وكل متصفح لديه محرك مترجم خاص به، وبالتالي قد تكتب كود جافاسكريبت فتجده مثلا يعمل على متصفح غوغل كروم بينما لا يعمل على انترنت اكسبلورر ولذلك وجب عليك كتابة شفرة برمجية متوافقة مع جميع المتصفحات المعروفة وهذا عمل ليس بالسهل دائما خاصة أن الوقت له الكلمة العليا في المشاريع الإحترفية، سرعة التنفيذ مطلوبة دائما.
العلاقة جيكويري وجافاسكريبت
هذه إشكالية من بين الإشكاليات التي جاءت جيكويري لحلها وقد نجحت في ذلك فأصبحت مكتبة الجافاسكريبت الأكثر استعمالا في الويب حيث أن التوافقية بين المتصفحات أصبحت مضمونة واختصار الأكواد كذلك.
مثال كتابة كود AJAX

مثلا لكتابة كود أجاكس Ajax بواسطة الجافاسكريبت الخام وكما تلاحظون الكود كثير ومتشعب :
// Just getting XHR is a mess! if (window.XMLHttpRequest) { // Mozilla, Safari, ... request = new XMLHttpRequest(); } else if (window.ActiveXObject) { // IE try { request = new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { try { request = new ActiveXObject('Microsoft.XMLHTTP'); } catch (e) {} } } // Open, send. request.open('GET', 'https://tutomena.com/ajax-endpoint', true); request.send(null);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

// Just getting XHR is a mess!
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
request = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
try {
request = new ActiveXObject('Msxml2.XMLHTTP');
}
catch (e) {
try {
request = new ActiveXObject('Microsoft.XMLHTTP');
}
catch (e) {}
}
}

// Open, send.
request.open('GET', 'https://tutomena.com/ajax-endpoint', true);
request.send(null);



بينما الأمر كشربة ماء باستعمال جيكويري :
$.ajax( "http://tutomena.com/ajax-endpoint" ) .done(function() { alert( "success" ); });
1
2
3
4

$.ajax( "http://tutomena.com/ajax-endpoint" )
.done(function() {
alert( "success" );
});



سطرين أو ثلاثة أسطر عوض 10 أو 15 في أبسط استعمالات الأجاكس فما بالك في عمليات الأجاكس المعقدة، عوض التركيز في المهم ستظطر إلى إضاعة وقتك في أمور أنت في غنى عنها. وهنا يتضح لنا العمل الكبير الذي تقوم به مكبتة جيكويري jQuery خلف الكواليس لتبسيط كتابة أكواد جافاسكريبت وهذا المثال مجرد نقطة في بحر ما تغنيك عنه هذه المكتبة، وللتأكد من الأمر يمكنك إلقاء نظرة على الشيفرة المصدرية Source code لجيكويري ولو أنني أخاف عليك من صداع الرأس.

raheel غير متواجد حالياً   اقتباس