مفهوم – جافا سكريبت JavaScript هي لغة برمجةٍ عالية المستوى تستخدم عادةً في تطوير المواقع، قامت شركة نتسكيب Netscape بتطويرها كوسيلةٍ لإضافة عناصرٍ ديناميكيةٍ وتفاعليةٍ للمواقع.
جافا سكريبت والتي تختصر بـ JS هي بشكل كامل لغة برمجة ديناميكية حيت عندما تطبق على ملف HTML, يمكن أن توفر التفاعل الديناميكي على المواقع، تم اختراعها من قبل بريندان إيتش، المؤسس المشارك لمشروع موزيلا.
تتأثر الجافا سكريبت بلغة الجافا بشكلٍ كبيرٍ، وتتشابه في تركيبها بلغة C وهي مبينةٌ على ECMAScript والتي هي لغة برمجةٍ وضعتها شركة صن ميكروسيستيمز Sun Microsystems. ومع مرور الوقت حلت محل مجموعةٍ متنوعةٍ من لغات البرمجة الأخرى لتصبح معيارًا لبرمجة المتصفحات.
تطور جافا سكريبت
ابتكر لغة الجافا برندان ايش عام 1995 تحت اسم موكا أثناء عمله في شركة نتسكيب، مستلهمًا إياها من لغة جافا Java وسكيم Scheme وسيلف Self.
لم تلقَ هذه اللغة الاهتمام في البداية إلا أنها ومع الوقت أصبحت تشكل مصدر اهتمامٍ للعديد من المبرمجين بعد إضافة تقنياتٍ جديدةٍ ودعمها للغة الجافا وأطلق عليها اسم جافا سكريبت.
جافا سكريبت متعددة الجوانب والاستعمالات بشكل لا يصدق. يمكنك البدء صغير، مع دوارات، معارض الصور، مخططات بيانية، والاستجابات لنقرات زر. مع المزيد من الخبرة، عليك أن تكون قادرا على خلق الألعاب، والرسوم المتحركة 2D و 3D الرسومات، تطبيقات شاملة لقاعدة البيانات، وأكثر من ذلك بكثير!
مزايا الجافا سكريبت
تستخدم الجافا سكريبت في البرمجة من طرف العميل أو ما تدعى client side لكنها تتميز بالعديد من التقنيات والميزات والتي نورد منها:
تنفذ من جهة العميل، فعلى سبيل المثال يمكنك التحقق من صحة أي مدخلاتٍ قبل إرسال الطلب إلى المخدم.
تعتبر لغةً سهلة التعلم نسبيًا وقريبةً من اللغة الإنجليزية.
لغة برمجة مستقلة وليست كما يعتقد البعض أنها مرتبطةٌ بلغة جافا.
توفر خدمات تحكمية أكبر بالمتصفحات.
تفاعلية وسريعة.
تتميز بواجهات غنية ويمكنك سحب وإسقاط المكونات لتغني واجهتك بالعناصر المطلوبة.
لغة برمجة وظيفية.
عيوب الجافا سكريبت
مشكلات الأمان: بما أن معظم التعليمات البرمجية يتم تنفيذها على الحاسب الخاص بالمستخدم، فيمكن استغلالها في بعض الأحيان لأغراضٍ ضارةٍ، الأمر الذي يستدعي العديد من الناس إلى تعطيلها.
لا تتيح قراءة الملفات أو كتابتها من جهة العميل.
لا يمكن استخدامها في تطبيقات الشبكات إذ لا يتوفر الدعم المناسب لذلك.
لا تدعم التنفيذ متعدد الخيوط multithreading وهي تقنيةٌ يتم فيها التنفيذ في عدة مساراتٍ بنفس الوقت على نفس المعالج.
يختلف عرض الجافا سكريبت بين مختلف المتصفحات ومحركات البحث الأمر الذي يتسبب في عدم تناسق الواجهة والوظائف في بعض الأوقات.
تمثّل جافاسكريبت الطبقة الثالثة من طبقات تقنيات الوِب القياسية، الطبقتان الأوليان هما HTML وCSS:
HTML هي لغة توصيف Markup نستخدمها لإنشاء محتوى الوِب وإضفاء معنى عليه، مثل تعريف الفقرات، العناوين وجداول البيانات أو تضمين الصور ومقاطع الفيديو في الصفحة.
CSS هي لغة تعرّف قواعد الأنماط Style rules التي نستخدمها لتطبيق التصميم على المحتوى الذي تصفه HTML، على سبيل المثال، تعيين ألوان وخطوط الخلفية، ووضع محتوى ما في أعمدة متعددة.
Javascript هي لغة برمجة تمكّنك من إنشاء محتوى حيوي وديناميكي، التحكم في الوسائط المتعددة، وتحريك الصور وأمورا وكل شيء آخر. حسنًا، ليس كل شيء، ولكن من المدهش ما يمكنك تحقيقه مع بضعة أسطر من شفرة جافاسكريبت.
ما الفرق بين الجافا سكريبت والجافا؟
لا بد أن تسمية الجافا سكريبت يجعلنا نعتقد أن الجافا سكريبت مرتبطةٌ بلغة الجافا. على الرغم من أن كليهما تستند إلى لغة C وتستخدم في تطبيقات الويب من جانب العميل، لكن سنوضح في السطور التالية بعض الفروق بينهما:
لا نستطيع إنكار حقيقة أن كلًا من الجافا والجافا سكريبت هي لغة برمجة تستخدم لتطوير التطبيقات أو الميزات المختلفة لصفحات الإنترنت، إلا أن الكود الخاص بكلٍ منهما يختلف عن الآخر.
الفرق الأكبر يتمثّل في نوع التطبيقات المستخدمة؛ إذ يتم تشغيل تطبيقات الجافا إما من سطح المكتب أو من خلال صفحة الويب وهي برامجٌ مستقلةٌ وعادةً ما تفتح نافذة برنامجٍ منفصلةٍ، وإن لم تقم بتثبيت الجافا فلن تتمكن من تشغيل التطبيقات الخاصة بها على جهازك.
في حين يتم عادة تضمين الجافا سكريبت في جميع المتصفحات الحديثة وبالتالي ستكون قادرًا على استخدامها بسهولةٍ عند تحميل صفحة الوي، ويمكن من خلال الجافا سكريبت إنشاء التطبيقات المختلفة في صفحة الويب نفسها، إذ يمكنك أن تطور ألعاب الفيديو أيضًا وتقوم بالعمل عليها في نافذة المتصفح.
تستند عادةً برامج الجافا على إجراء الحسابات والتفكير المنطقي وتعمل على البرمجة من جهة الخادم بشكلٍ كبيرٍ أما الجافا سكريبت فيتركز عملها على جانب العميل، الأمر الذي يجعل من الجافا سكريبت أسرع.
في حين يمكن استخدام الجافا لتطوير برامجٍ ضخمةٍ، إلا أنها تتطلب مساحةً ذاكريةً كبيرةً غالبًا والتي من الممكن أن تتسبب ببطءٍ في عمل الحاسب أو بطء في عمل برنامجٍ آخر.
في المقابل تعمل الجافا سكريبت بمساحةٍ ذاكريةٍ صغيرةٍ لذا شاع استخدامها بشكلٍ كبيرٍ في العديد من صفحات الويب بسبب متطلبات الذاكرة المنخفضة والقدرة على توفير العديد من المزايا الفريدة.