ما هي جافا سكربت ؟

محتويات المقالة

    المقدمة

    عند تعاملك مع الجافا سكربت ، انت تتعامل مع صفحة الإنترنت ، وأي صفحة إنترنت موجودة تحتوي على ثلاثة أجزاء اساسية .

    Structure WebPages

    من خلال الصورة السابقة يجب ان تعرف ان صفحة الإنترنت تتكون من

    • Structure: والمسئول عنه هو الـ HTML اي كل ما يتم وضعه من عناصر الـ HTML في صفحة الويب والتي من خلالها يتم تقسيم صفحة الإنترنت .
    • Presentation\Style: والمسئول عنه هو الـ Css وهو كيفيه ظهور كل عنصر من عناصر الـ HTML في صفحة الويب
    • Behavior: والمسئول عنه هو الجافا سكربت وهو كيفيه تفاعل هذا العنصر مع المستخدم .

    اذاََ قبل البدء بالتعريف عن الجافا سكربت وكما تلاحظ انه يجب ان يكون لديك معرفة مسبقة بالـ HTML, Css , ووجود محرر نصوص ومتصفح وينصح بمتصفح كروم .

     

    آليه طلب صفحة الإنترنت

    عندما يقوم المستخدم بكتابة عنوان الموقع في المتصفح مثلا www.google.com والضغط على زر Enter تحدث عمليه Request للسيرفر ويقوم السيرفر بالبحث عن الصفحة التى طلبها المستخدم ، اذا كانت موجودة يقوم بإرجاع Response ( وهي عبارة عن محتويات الصفحة ( البيانات ) التي طلبها وقد تكون HTML, CSS, Image, Pdf ) ويتم عرضها بواسطة المستعرض , يقوم السيرفر بإرجاع المحتوى والمستعرض يعمل علي رسم الصفحة , بعد ذلك يكون كل شىء أمام المستخدم , نحن في الجافا سكربت نحتاج التعامل مع الصفحة عند إكتمال الرسم والتحميل .

     

     

    تاريخ الجافا سكربت

    في فترة التسعينات ، كان هناك متصفح مشهور جداََ بإسم Netscape Navigator وهو عبارة أحد أشهر المتصفحات في هذا الوقت ، وكان يستخدم كثيراََ لتصفح الإنترنت من قبل المستخدمين لإنه كان يوفر الإمكانيات والإحتياجات المناسبة لهم .

    كان هناك مطور مشهور اسمه Brendan Eich وكان من أحد المطورين المسؤولين عن المنظمه والمشاركين في تطوير المتصفح نفسه

    قام هذا المطور عند الإصدار الثاني من المتصفح بالتفكير في كتابة لغة Scripting  يستطيع من خلالها التحكم في المتصفح وبعض من أجزاء الصفحة ، وبالفعل قام بكتابة Scripting Language اطلق عليها بالبداية اسم Mocha  بعد ذلك اطلق عليها إسم Live Script  سميت Live لإنها تعطي الحياة والحيويه للمتصفح .

    قبل إطلاق متصفح Netscape Navigator الإصدار الثاني قامت بالشراكة والتعاون مع شركة Sun microsystem وقبل صدور المتصفح رسمياََ للإصدار الثاني قاموا بتغير الإسم إلى JavaScript .

    في 1997 كانت البداية الحقيقة للجافا سكربت حيث قامت  Netscape Navigator  و Sun microsystem بإصدار تقرير وطلب عمل معايير قياسية الى الهيئة العامة  ( Ecma )  وكان الطلب

    Standardization of the general purpose, cross platform, vendor-neutral programming language

    حيث ينص علي توحيد المعايير القياسية للغة في الكتابة وطريقة كتابة الكود والكود نفسه والتوافق مع كل المنصات وتم الموافقة عليه وبعد فترة تم اصدار ECMA-262 .

    ECMA-262 هو رقم المعيار الاساسي في المنظمة العامة لصناعات الحاسوبية في أوروبا الذي اطلقته على مشروع لغة الجافا سكربت لوضع كيفية تنفيذ اللغة على اي من المنصات التي ستقوم باستضافة هذه اللغة .

     

     JavaScript vs ECMA-262 

    الاثنين يستخدمون مع بعضهم البعض كمصطلحات الا ان الجافا سكربت تعتبر أكبر كمفهوم من ECMA-262 .

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

    الجافا سكربت اشمل من ذلك لإنها تحتوي ايضا بالاضافة لـ ECMA-262 على Dom و Bom .

    DOM هو اختصار لـ Document Object Model وهو Model يستخدم للتعامل والتلاعب مع مكونات الصفحة .

    BOM هو اختصار لـ Browser Object Model وهو عبارة عن Model  يستخدم العديد من الإمكانيات خارج نطاق المتصفح ، قد يكون الشاشة وبعض المعلومات عن نظام التشغيل .

    الخلاصة : ECMA-262 هي  الـ Core  الاساسي واي اضافات مثل BOM و DOM يخرج لنا مفهوم عام JavaScript

    ملاحظة: الجافا سكربت ليست هي الجافا .

    java is to javascript as car is to carpet

     

    جافا سكربت تعمل علي المتصفحات وممكن تشغليها كخادم ، أي جهاز فيه Js Engine  يعمل عليه بما في ذلك الهواتف الذكية تسمى  Cross Platform  أو التطبيقات الهجينة .

    يوجد بالمتصفحات شىء اسمه Js uirted machine ( محرك الداخلي ) ويعتبر تظام وهمي موجود داخل المتصفح .

    ولكل متصفح محرك خاص به

    • V8 ==> Chrome & Opera
    • Spider Monkey ==> Firefox
    • Trident, Chakra, Chakra Code ==> IE
    • Chakra Code ==> Edge
    • Nitro , Squirrlfish ==> Safari

    في حال وجدت شخص يتكلم عن الـ V8 فهو يقصد المحرك الخاص بمتصفح أوبرا وكروم ، وايضا في حال وجدت شخص يتكلم عن شى اسمه Spider Monkey فهو بذلك يتكلم عن محرك Firefox وكذلك الشىء لبقية المتصفحات .

     

    كيف يعمل المحرك ؟

    المحرك موجود داخل المتصفح ويعمل علي قراءه هذا السكربت (Parse) ثم يحوله إلي لغة الآله تم يتم تنفيذة .

     

    ما الذي يميز الجافا سكربت ؟

    التكامل الكامل مع الـ CSS, HTML وايضاََ بسيطة جدا ومدعومة ومفعله تماما علي معظم المتصفحات ، هذه الأشياء لا تجدها إلا في جافا سكربت فقط .

     

    ماذا يمكن ان نعمل بواسطة الجافا سكربت ؟

    • التعامل والتعديل والتحكم الكامل في HTML, Css
    • التفاعل مع تحركات وأحداث المستخدم ( ضغط الكيبورد ، حركة الماوس ، … )
    • ارسال طلبات اتصال من خلال الشبكات HTTP Request من خلال ( Ajax – Comet ) ، مثلا جلب بيانات او ارسال بيانات ورفع الملفات وتحميلها .
    • التعامل مع الكوكيز والكوكيز داتا موجودة في المتصفح .
    • تتفاعل مع المستخدم من خلال ارسال رسائل ( اعطاء رسالة للتأكيد ، الموافقة أو عدمه )
    • حفقظ البيانات في التخزين المحلي للجهاز .

     

    ماذا لا يمكن ان تفعله الجافا سكربت ؟

    لا يمكن للجافا سكربت الوصول إلي ملفات النظام والسبب في ذلك إنها شغالة في متصفحات – تسمح المتصفحات الحديثة بالوصول للملفات ولكن يجب ان يكون المتسخدم من قام بذلك ، وهناك طرق للوصول للميكرفون والكاميرا ولكن تتطلب تصريح المستخدم .

    كما ان الجافا سكربت لا يمكنها ان تتبث برامج علي الجهاز وتنفيذها .

    النوافذ المتفوحة والألسنة  لا تعرف شىء عن بعضها إلا في حال واحدة ممكن ان تعرف عن موقع أخر , اذا كنت فتحت هذا الموقع من خلال نفس الموقع ويجب توفر 3 نقاط من أجل ذلك

    • تكون في نفس النطاق .
    • نفس البروتوكول .
    • تكون نفس المنفذ

    هذه تسمي Same Origin Policy ، بدون وجود هذه الأشياء لا يمكن ان تتواصل مع بعض وهذا شىء ممتاز من اجل الحماية .

     

    لو كنت من محبين مشاهدة الدروس كفيديوهات تعرف على الجافا سكربت من هنا .

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

    الإعلانات