تعتبر لغة البرمجة JavaScript واحدة من أهم اللغات الموجودة حاليا على مستوى العالم . حيث انها تستخدم في تصميم وبرمجة أغلب مواقع الويب الموجودة على مستوى العالم.
ما هي جافا سكريبت
جافا سكريبت هي لغة برمجة صممت في الأصل لإضافة مؤثرات وتفاعلات لصفحات الويب، ويعنى بالتفاعلات كل ما يتم عمله أو إجراؤه على مستوى المتصفح من دون الحاجة لإعادة تحميل الصفحة. نذكر على سبيل المثال:
- إخفاء أو إظهار عنصر HTML معين عند النقر على عنصر آخر.
- عمل وتحريك ما يعرف ب Sliders.
- التحقق من صحة البيانات في النماذج أو Form Validation.
- وغيرها….
تعتبر لغة جافا سكريبت لغة برمجة من جانب العميل أو Client-side programming language لأنه يشتغل وينفذ في المتصفح بجهاز المستخدم، في مقابل لغات برمجة أخرى، مثل PHP، التي صممت لتعمل في ناحية الخادم Server-side.
استخدامات لغة JavaScript
كانت لغة جافا سكريبت تستخدم فقط في بناء مواقع الويب. ولكن اليوم توسع مجال اهتمامات هذه اللغة بشكل كبير جدا وتشمل مجالات شتى منها ..
-
تصميم الواجهة الأمامية
عن طريق إستخدام html , css في تصميم الواجهة الأمامية للموقع واضافة النصوص والديزاين وتضيف عليها لغة الجافا سكريبت مؤثرات وتفاعلات لصفحات الويب.
-
تصميم الواجهة الخلفية
أي جزء ال backend عن طريق استخدام الـ node.js التي تم الإعلان عنها عام 2009 يرجع الفضل كذلك لمحرك V8 في أننا اليوم نستطع تشغيل جافا سكريبت في الخوادم. حيث يشكل النواة الأساسية التي بني حولها Node.js، كما يمكن استخدام php لتصميم الواجهة الخلفية لها ولكن JavaScript تتميز بقدرتها علي إنشاء الواجهة الأمامية وكذلك الخلفية.
-
تصميم تطبيقات الهاتف
تستخدم لغة ال JavaScript لتصميم تطبيقات الهاتف عن طريق استخدام لغة ال react native وغيرها..
-
تطبيقات سطح المكتب Desktop application
تستخدم لغة الجافا سكريبت أيضًا لإنشاء تطبيقات سطح المكتب باستخدام منصات مثل Electron و NW.js مشابه لـ Electron من حيث إنه يسمح لمطوري جافا سكريبت (JavaScript Developers) ببناء تطبيقات سطح المكتب باستخدام HTML و CSS و JavaScript. وكلاهما يسمح للمطورين بإنشاء تطبيقات سطح المكتب باستخدام لغة الجافا سكريبت.
-
تطوير الألعاب Game development
شقت لغة الجافا سكريبت طريقها أيضًا في مجال صناعة الألعاب. باستخدام HTML5، يمكن للمطورين إنشاء ألعاب صغيرة أو عناصر ألعاب داخل صفحة ويب موجودة (مثل إعلان لافتة أو كائن متحرك على جانب صفحة ويب). بالإضافة إلى ذلك، تسمح ألعاب المتصفح للاعبين بالوصول إلى ألعابهم المفضلة من أي جهاز كمبيوتر، وهو أمر ممتاز للأشخاص الذين لا يمتلكون وحدات تحكم الألعاب أو الأجهزة المحمولة.
هناك أطر ألعاب ثنائية الأبعاد وثلاثية الأبعاد للغة الجافا سكريبت مثل Phaser وBabylon.js Three.js ،Phaser هو إطار لبناء ألعاب ثنائية الأبعاد. يتميز بالعديد من الأمثلة الرائعة ومقتطفات التعليمات البرمجية التي يمكنك استخدامها للتعلم منها وتطوير ألعاب الفيديو الخاصة بك.Babylon.js هو إطار عمل لإنشاء ألعاب ثلاثية الأبعاد.
في الوقت نفسه، Three.js هي مكتبة تسهل العمل مع Babylon.js. هذه الأطر الثلاثة (Phaser و Babylon.js و Three.js) هم الأكثر استخدامًا لصناعة الألعاب الإلكترونية ذات الأحجام المختلفة، ابتداءً من ألعاب الهاتف المحمول البسيطة إلى ألعاب وحدة التحكم ثلاثية الأبعاد المعقدة.
كيف تعمل جافا سكريبت
يشتغل الجافا سكريبت داخل المتصفح معتمدا على ما يعرف بـ محرك جافاسكريبت أو JavaScript Engine. هذا الأخير يقوم بقراءة ترميزات جافا سكريبت وتحويلها Machine code وهي اللغه التي يفهمها الحاسوب وذلك من أجل قراءتها وتنفيذها.
تتم هذه العملية بسرعة وكفاءة عالية بفضل تطور محركات جافا سكريبت في مختلف المتصفحات المعروفة التي أصبحت تعتمد على طريقة JIT Compilation في عملية تجميع وتحويل أكواد JavaScript الى Machine code.
كان محرك V8 من جوجل كروم هو السباق لتبني هذه الآلية بعد ظهوره لأول مرة في أواخر عام 2008، وتأثرت به بعد ذلك باقي المتصفحات وفي مقدمتها موزيلا فايرفوكس الذي سارع هو الآخر للإعتماد على Just-in-time Compilation في محركه Spider Monkey للرفع من كفاءة وأداء تطبيقات الويب خصوصا وأن هذه التطبيقات شهدت في تلك الفترة تطورا نوعيا مع انتشار استخدام تقنية أجاكس.
كيفية استخدام جافا سكريبت
البدء في استخدام جافا سكريبت سهل للغاية، يكفي إدراج الكود في صفحة الويب بإحدى الطريقتين التاليتين:
الطريقة 1
هذه الطريقة تتمثل في إضافة ترميز الجافا سكريبت داخل وسم <script> بهذه الكيفية:
<script> // كود جافا سكريبت هنا</script>
الطريقة 2
في هذه الطريقة نقوم بإنشاء ملف امتداده .js – مثلا script.js – ثم نستدعي هذا الملف داخل صفحة الويب :
<script src=“path/to/script.js”></script>
الفرق بين Java و JavaScript :
– جافا (Java)
هي لغة مكتوبة، يجب تعريف المتغير فيها أولاً لاستخدامه في البرنامج ويتم التحقق من نوع المتغير في وقت الترجمة.
هي لغة برمجة كائنية التوجه. امتداد الملف “.Java” ويترجم كود المصدر إلى أكواد ثنائية يتم تنفيذه بواسطة آلة جافا الافتراضية(JVM).
جافا لغة مستقلة، يستخدم ذاكرة أكثر ، يستخدم نهج مؤشر الترابط إلى التزامن ، كما يدعم Java معالجة المسارات المتعددة.
– جافا سكريبت (JavaScript)
هي لغة برمجة نصية قائمة على الكائنات.
يتم استخدام كود JavaScript للتشغيل في المتصفح فقط ولكن يمكن تشغيله على الخادم عبر Node.js ،تعتمد كائنات JavaScript على النموذج الأولي.
امتداد الملف “.js” ويتم تفسيره ولكن لم يتم تجميعه، كل متصفح لديه مترجم جافا سكريبت لتنفيذ كود JS، كما أنه موجود في صفحة ويب ويتكامل مع محتوى HTML .
تتطلب ذاكرة أقل لذلك يتم استخدامها في صفحات الويب يدعم الأحداث المستندة إلى التزامن.
JavaScript لا تدعم معالجة المسارات المتعددة
المسار الصحيح لتعلم لغة جافا سكريبت
1- تعلم أوامر جافا سكريبت
النقطة الأهم في تعلم البرمجة هي تعلم أوامر لغة البرمجة مثل المتغيرات و الدوال و أنواع البيانات, المصفوفات و الحلقات إلخ..
هذه الأمور يمكنك تعلمها بكل سهولة من إحدى هذه الدورات:
- دورة عربية من قناة elzero علي اليوتيوب: Learn JavaScript In Arabic
- دورة إنجليزية من قناة freeCodeCamp علي اليوتيوب: Learn JavaScript – Full Course for Beginners
2- تعلم جافا سكربت DOM
في البداية, المقصود بكلمة DOM هو Document Object Model. و يقصد بها أوامر جافا سكربت المتعلقة بتصميم صفحات الويب. مثلاً تحديد ما يحدث عند النقر على زر معين موضوع في الصفحة, إظهار رسالة ما أمام المستخدم و غيرها من الأمور.
يمكنك تعلم جافا سكربت DOM من إحدى هذه الدورات:
- دورة عربية من قناة elzero علي اليوتيوب: Learn JavaScript HTML DOM
- دورة إنجليزية من قناة Net Ninja على اليوتيوب: JavaScript DOM Tutorial
3- تعلم جافا سكربت BOM
في البداية, المقصود بكلمة BOM هو Browser Object Model. و يقصد بها أوامر جافا سكربت الخاصة بالتعامل مع المتصفح نفسه و التي تتيح لك الوصول للمعلومات المتوفرة عنه مثل حجم نافذة المتصفح الحالية و التي تساعدك في تحسين التصميم, إمكانية الوصول و التوجه للصفحات التي سبق للمستخدم أن شاهدها (History), قراءة روابط الصفحات المفتوحة و التخزين.
يمكنك تعلم جافا سكربت BOM من إحدى هذه الدورات:
- دورة عربية من قناة elzero علي اليوتيوب : Learn JavaScript Bom
ما مدة تعلم JavaScript؟
لتعلم JavaScript من الصفر بشكل أساسي، قد يستغرق الأمر بين شهرين وثلاثة أشهر، لذا للوصول إلى مستوى متقدم، وقد يتطلب الأمر بضعة أشهر إضافية. ولكن تختلف المدة التي يمكن تعلم فيها لغة البرمجة من شخص إلي أخر وذلك لاختلاف كل لغة برمجة عن الأخرى حيث أنه تختلف لغة برمجة الـ JavaScript عن لغة برمجة الـ python. كما تختلف المدة لإختلاف قدرة الشخص نفسه على استيعاب كل مفاهيم اللغة وكم ساعة من اليوم يمكن أن يمنحها المتدرب لنفسه لكي يقضيها في تعلم اللغه.