تلعب الجافاسكربت دورا حيويا و فعلا في صفحات الوب ، حيث تقوم هذه اللغة بوظائف خارجية و داخلية غاية في الأهمية ، إنها لغة برمجة بسيطة ، مرنة و دقيقة تجعلك تتحكم في صفحات موقعك بسهولة و فعالية ، ببساطة تبث الجافاسكربت الروح في صفحات الوب و تجعلها قادرة على التفاعل مع المستخدم .
مدخل
إن صفحات الوب التي تراها أمامك في المتصفح عبارة عن ملفات يمكنك تحميلها على حاسوبك و حفظها ، و عادة ما تكون هذه الملفات بالإمتداد html.* . فإنطلاقا من إنشاء هذه الملفات يمكنك إنشاء صفحات الوب و بالتالي يمكنك إنشاء موقع كامل ، و ذلك باستعمال لغات التصميم الأساسية و البعض من لغات البرمجة ، فلغات التصميم الأساسية هي الـHTML و الـCSS ، أما لغات البرمجة فهي كثيرة و الجافاسكربت لغة من لغات البرمجة الأهم و الأكثر إستعمالا في مواقع العالم . و الإلمام الجيد للغة الجافاسكربت يتطلب أولا المعرفة الكاملة لأساسيات الغات التي قبلها ، و على رأس هذه اللغات HTML و CSS .
الفهرس
ما هي الجافاسكربت ؟
- لغة البرمجة هي لغة تمكن مطور الوب أو المبرمج من كتابة كودٍ مصدري يستطيع الحاسوب تحليله و تطبيقه .
- مطور الوب ، أو المرمج هو الشخص الذي يقوم بتصميم البرامج حيث يمكن أن يكون محترفا ( مهندسا ، محلل نظم معلوماتية أو مبرمج لدى شركة ما ) أو يمكن أن يكون أحد أصدقائك الذين تقضي معضم وقتك معهم .
- يكتب الكود المصدري من طرف المبرمج ، إنه مجموعة من الأحذاث ، تسمى بلغة المبرمجين سكربتات ، هذه السكربتات عبارة عن أوامر تُوجَه للحاسوب من أجل تشغيل تطبيق ما على صفحة ما من صفحات الوب ، فالكود المصدري يكون مخفيا لكن ثأثيره و عمله يظهران بوضوح ، كمحرك السيارة تماما : إنه مخفي وراء غطاء المقدمة لكن قوة الدفع التي يوفرها للسيارة واضحة للجميع . فالكود المصدري هو المحرك الذي يشغل البرامج .
- حسب أوامر الكود الصدري يقوم الحاسوب بعدة أشياء ، مثل فتح قائمة منسدلة ، تشغيل تطبيق ما ، تقديم بحث ما و العديد من الأشياء ، أي كل ما يستطيع الحاسوب القيام به .
تمكن الجافاسكربت من إنشاء سكربتات ، فكما قلنا سابقا ، إنها لغة تمكن من إنشاء كود مصدري يستطيع الحاسوب تحليله و تطبيقه . يمكن تصنيف لغات البرمجة في 3 مستويات :
- المستوى عالي ( لغات تحتاج ترجمة ) : لا يستطيع الحاسوب فهم الكود المصدري المكتوب بهذه اللغات ، لذلك يتم الإستعانة ببرنامج يسمى ببساطة المترجم ، يقوم هذا البرنامج بترجمة الكود المصدري إلى اللغة التي يفهمها الحاسوب أي إلى نظمات العد الثنائي 0 و 1 ، و كمثال على هذه اللغات هناك C و ++C .
- المستوى المتوسط ( لغات نصف مترجمة ) : هنا ، الكود الصدري يكون مترجما جزئيا ، عموما يكون الكود سهلا للقراءة بالنسبة للحاسوب رغم أنه غير مكتوب بنظمات العد الثنائي . فرغم كون هذه اللغات مفهومة من طرف الحاسوب إلا أنه لا يستطيع تطبيق أوامرها دون الإستعانة ببرامج أخرى ، كما أن هذه اللغات تحتاج إلى برامج متخصصة لكتابتها ، كمثال على هذه اللغات نذكر #C و الجافا Java .
- المستوى الدنوي ( لغات لا تحتاج ترجمة ) : في هذه الحالة ليست هناك ترجمة ، الكود المصدري المكتوب بهذه اللغات يبقى كما هو ، و هو مفهوم لدى الحاسوب ، و لتطبيق أوامره لا يحتاج الحاسوب إلى برامج خارجية أبدا ، لأنه يمكن القول بأن لغات من هذا المستوى بسيطة و سهلة بالنسبة للحاسوب .
يحتوي كل متصفح على مترجم صغير للجافاسكربت ، الذي يختلف من متصفح لاخر ، فمترجم إنترنت إكسبلورر يسمى JScript و مترجم إنترنت إكسبلورر 9 يسمى Chakra ، بينما موزيلا لديه SpiderMonkey و غوغل كروم لديه V8 . فرغم إختلاف المترجمات إلا أن بنية اللغة تبقى ثابثة و موحدة و تشتغل بنفس الطريقة في كل المتصفحات .
الجافاسكربت لغة سكربتات
حاليا تستعمل الجافاسكربت كثيرا في مواقع الإنترنت ، خصوصا في صفحات HTML و XHTML ، حيث يمكن تضمين كود الجافاسكربت مباشرة في ملف صفحة الوب ، أو يمكن جلبه إنطلاقا من ملف خارجي ، و تقوم الجافاسكربت بالعديد من المهام في الموقع :
- إظهار و إخفاء نصوص ما .
- تنسيق الصور .
- فتح قوائم منسدلة .
- إظهار فقاعة المعلومات
- ...
الجافاسكربت لغة يقال عنها لغة جهة-العميل ، يعني أن الكود المصدري يشتغل في متصفح العميل فقط و يجلب معطياته إنطلاقا من حاسوب العميل أيضا ، و هذا يختلف عن لغات جهة-الخادم التي تجلب كل معطياتها من الخادم الذي يوجد فيه ملفات الموقع كلغة PHP .
الجافاسكربت ، ليس الوب فقط
إذا كانت الجافاسكربت مصممة لتعمل على صفحات الوب فقط فإنها في الحقيقة تطورت و توسعت لتشمل إستعمالات أخرى ، فبرنامج المتصفح الذي تشاهده أمامك يحتوي على لوحة إعدادات تشتغل بالجافاسكربت ، و الألعاب الصغيرة تشتغل أحيانا بالجافاسكربت ، كما أن هذه اللغة تمتد إلى تشغيل بعض البرمجيات كقارء الأفلام و غيرها .
قصة صغيرة عن الجافاسكربت
براندان آيخ |
قام براندان آيخ بتصميم لغة إسمها LiveScript ، لغة سكربتات مدرجة تحت نطاق لغة الجافا ، كان تصميمها في البداية يتوافق مع السيرفرات فقط ، أي كانت لغة جهة-السيرفر . بعد مدة قصيرة أدخلت شركة نيتسكيب تحسينات على اللغة حيث أصبحت تشمل جهة-العميل أيضا و لم تعد تعتمد على الجافا لإشتغالها و هنا تمت إعادت تسمية هذه اللغة إلى الجافاسكربت التي نعرفها الان .
في البداية كان يطلق عليها Livescript Javascript لتمييزها عن النسخة السابقة التي كانت تعمل على السيرفرات فقط ، لكن بعد إندثار Livescript ، أصبح الكل يعرفها بالجافاسكربت كما نعرفها الان .
لا يجب الخلط بين الجافا و الجافاسكربت ، فالجافا لغة قديمة من المستوى المتوسط مصممة من طرف شركة سن ميكروسيستمز ، أما الجافاسكربت فهي لغة من المستوى الدنوي و هي مصممة من طرف شركة نيتسكيب .
ظهرت لغة جافاسكربت رسميا في دجنبر 1995 مضمنة في متصفح Netscape 2 ، و نظرا للشهرة الكبيرة التي أخذتها لغة جافاسكربت آنذاك قامت شركة ميكروسوفت بتطوير لغة مماثلة إسمها JScript تم تضمينها في المتصفح إنترنت إكسبلورر 3 سنة 1996 .
قررت نيتسكيب إرسال نسختها من الجافاسكربت إلى منظمة ECMA العالمية لكي تجعل من لغتها عالمية و موحدة ، أي أن تتوفر إمكانية إستخدام هذه اللغة في تصميم البرامج إلخ .. ، وافقت المنظمة ECMA على المشروع و أصدرت نسخة موحدة من هذه اللغة باسم EMCAScript .
إصدارات الجافاسكربت
ترجع جميع إصدارات الجافاسكربت إلى إصدارات ECMAScript ( باختصار ES ) :
- ES1 و ES2 ، الإصدارات الأولى التي أعطت الإنطلاقة الكبيرة للغة جافاسكربت .
- ES3 : ظهرت سنة 1999 ، و كانت تشتغل على جميع المتصفحات ما عدى إنترنت إكسبلورر .
- ES4 : إصدار لم ينجح لإحتوائه على تعديلات أضرت باللغة .
- ES5 : ظهرت سنة 2009 و هي الإصدار المعمول به حاليا .
- ES6 : إصدار في طور التصميم ، لم يتم إطلاقه بعد .