دعنا نرى ما هو مميز جدًا حول جافا سكريبت ، وما يمكننا تحقيقه بواسطتها ، وما هي التقنيات الأخرى التي تعمل بشكل جيد معها.
جدول المحتوى
ما هي جافا سكريبت؟
جافا سكريبت أو غالبًا كاختصار JS يطلق عليها بالإنجليزية (JavaScript) هي لغة برمجة عالية المستوى تستخدم أساساً في متصفحات الويب لإنشاء صفحات أكثر تفاعلية. يتم تطويرها حالياً من طرف شركة موزيلا.
تم إنشاء جافا سكريبت في البداية “لجعل صفحات الويب حية”. البرامج في هذه اللغة تسمى سكربتات. يمكن كتابتها بشكل صحيح في HTML لصفحة الويب وتشغيلها تلقائيًا أثناء تحميل الصفحة.
يتم توفير البرامج النصية وتنفيذها كنص عادي. لا يحتاجون إلى إعداد خاص أو تجميع للتشغيل. في هذا الجانب ، تختلف جافا سكريبت اختلافًا كبيرًا عن لغة أخرى تسمى جافا.
لماذا يطلق عليه جافا سكريبت؟
عندما تم إنشاء جافا سكريبت، كان لها في البداية اسم آخر: “لايف سكربت”. لكن جافا كانت شائعة جدًا في ذلك الوقت ، لذلك تقرر أن وضع لغة جديدة على أنها “الأخ الأصغر” لجافا سيساعد.
ولكن مع تطورها ، أصبحت لايف سكربت لغة مستقلة تمامًا بمواصفاتها الخاصة التي تسمى إي سي إم ايه سكريبت، والآن ليس لها أي علاقة بجافا على الإطلاق.
اليوم ، يمكن تنفيذ جافا سكريبت ليس فقط في المتصفح ، ولكن أيضًا على السيرفر، أو في الواقع على أي جهاز به برنامج خاص يسمى محرك جافا سكريبت.
يحتوي المتصفح على محرك مضمن يسمى أحيانًا “آلة جافا سكريبت الافتراضية”.
المحركات المختلفة لها “أسماء رمزية” مختلفة. على سبيل المثال:
- كروم في 8 – في كروم و أوبرا.
- سبايدر مونكي– في فايرفوكس.
- هناك أسماء رمزية أخرى مثل “تشاكرا” لـ IE و “شقراكور” لـ مايكروسوفت إيدج و “نيترو” و “سكوير فيش” لمتصفح سفاري وما إلى ذلك.
من الجيد تذكر المصطلحات الواردة أعلاه لأنها مستخدمة في مقالات المطورين على الإنترنت. سنستخدمها أيضًا. على سبيل المثال ، إذا كانت “الميزة Z مدعومة بواسطة ;كروم فى 8” ، فمن المحتمل أنها تعمل في كروم و أوبرا.
كيف تعمل المحركات؟
المحركات معقدة. لكن الأساسيات سهلة.
- يقرأ المحرك (المضمن إذا كان متصفحًا) (“يوزع”) النص البرمجي.
- ثم يقوم بتحويل (“تجميع”) النص إلى لغة الآلة.
- وبعد ذلك يتم تشغيل كود الآلة بسرعة كبيرة.
يطبق المحرك التحسينات في كل خطوة من العملية. حتى أنه يراقب النص المترجم أثناء تشغيله ، ويحلل البيانات التي تتدفق من خلاله ، ويزيد من تحسين كود الآلة بناءً على تلك المعرفة.
ما الذي يمكن أن يفعله جافا سكريبت في المتصفح؟
تعد JavaScript الحديثة لغة برمجة “آمنة”. لا يوفر وصولاً منخفض المستوى إلى الذاكرة أو وحدة المعالجة المركزية ، لأنه تم إنشاؤه في البداية للمتصفحات التي لا تتطلب ذلك.
تعتمد قدرات جافا سكريبت بشكل كبير على البيئة التي تعمل فيها. على سبيل المثال ، تدعم نود.جي إس الوظائف التي تسمح لجافا سكريبت بقراءة / كتابة ملفات عشوائية وتنفيذ طلبات الشبكة وما إلى ذلك.
يمكن لجافا سكريبت في المتصفح القيام بكل ما يتعلق بمعالجة صفحات الويب والتفاعل مع المستخدم وسيرفر الويب.
على سبيل المثال ، يمكن لجافا سكريبت في المتصفح:
- إضافة HTML جديد إلى الصفحة ، وتغيير المحتوى الحالي ، وتعديل الأنماط.
- الرد على إجراءات المستخدم ، تشغيل عند نقرات الماوس ، حركات المؤشر ، ضغطات المفاتيح.
- إرسال الطلبات عبر الشبكة إلى الخوادم البعيدة ، وتنزيل الملفات وتحميلها (ما يسمى بتقنيات أجاكس و ويكاموس).
- الحصول على ملفات تعريف الارتباط وتعيينها ، وطرح الأسئلة على الزائر ، وإظهار الرسائل.
- تذكر البيانات الموجودة على جانب العميل (“التخزين المحلي”).
ما الذي لا يمكن أن تفعله جافا سكريبت في المتصفح؟
إمكانيات جافا سكريبت في المتصفح محدودة حرصًا على سلامة المستخدم. الهدف هو منع صفحة الويب الشريرة من الوصول إلى المعلومات الخاصة أو الإضرار ببيانات المستخدم.
تتضمن أمثلة هذه القيود ما يلي:
- قد لا يقوم جافا سكريبت على صفحة ويب بقراءة / كتابة ملفات عشوائية على القرص الثابت أو نسخها أو تنفيذ البرامج. ليس لديه وصول مباشر إلى وظائف نظام التشغيل.
- تسمح المتصفحات الحديثة له بالعمل مع الملفات ، ولكن الوصول محدود ويتم توفيره فقط إذا قام المستخدم بإجراءات معينة ، مثل “إسقاط” ملف في نافذة المتصفح أو تحديده عبر علامة.
- هناك طرق للتفاعل مع الكاميرا / الميكروفون والأجهزة الأخرى ، لكنها تتطلب إذنًا صريحًا من المستخدم. لذلك ، قد لا تُمكّن الصفحة التي تدعم جافا سكريبت بشكل خفي كاميرا الويب ، وتراقب المناطق المحيطة وترسل المعلومات إلى وكالة الأمن القومي.
- لا تعرف علامات التبويب / النوافذ المختلفة بشكل عام بعضها البعض. في بعض الأحيان يفعلون ذلك ، على سبيل المثال عندما تستخدم إحدى النوافذ جافا سكريبت لفتح النافذة الأخرى. ولكن حتى في هذه الحالة ، قد لا تتمكن JavaScript من إحدى الصفحات من الوصول إلى الصفحة الأخرى إذا كانت تأتي من مواقع مختلفة (من مجال أو بروتوكول أو منفذ مختلف).
- وهذا ما يسمى “سياسة المنشأ نفسه”. للتغلب على ذلك ، يجب أن توافق كلتا الصفحتين على تبادل البيانات وتحتوي على كود JavaScript خاص يتعامل معها.
- هذا القيد ، مرة أخرى ، من أجل سلامة المستخدم. يجب ألا تتمكن صفحة من http://othername.com قام المستخدم بفتحها من الوصول إلى علامة تبويب متصفح أخرى باستخدام عنوان URL http://yourname.com وسرقة المعلومات من هناك.
- يمكن لـ JavaScript الاتصال بسهولة عبر الشبكة بالخادم الذي جاءت منه الصفحة الحالية. لكن قدرته على تلقي البيانات من المواقع / المجالات الأخرى معطلة. على الرغم من إمكانية ذلك ، إلا أنه يتطلب موافقة صريحة (معبرًا عنها برؤوس HTTP) من الجانب البعيد. مرة أخرى ، هذا هو قيد الأمان.
لا توجد مثل هذه الحدود إذا تم استخدام JavaScript خارج المتصفح ، على سبيل المثال على السيرفر. تسمح المتصفحات الحديثة أيضًا بالمكونات الإضافية / الإضافات التي قد تطلب أذونات موسعة.
ما الذي يجعل JavaScript فريدًا؟
هناك ثلاثة أشياء رائعة على الأقل حول JavaScript:
- التكامل التام مع HTML / CSS.
- الأشياء البسيطة تتم ببساطة.
- دعم من قبل جميع المتصفحات الرئيسية وتمكينه بشكل افتراضي.
- JavaScript هي تقنية المتصفح الوحيدة التي تجمع بين هذه الأشياء الثلاثة.
- هذا ما يجعل JavaScript فريدًا. هذا هو السبب في أنها الأداة الأكثر انتشارًا لإنشاء واجهات المتصفح.
- ومع ذلك ، تسمح JavaScript أيضًا بإنشاء سيرفرات وتطبيقات جوال وما إلى ذلك.
لغات جافا سكريبت “أكثر”
لا تناسب بنية جافا سكريبت احتياجات الجميع. الناس المختلفون يريدون ميزات مختلفة. هذا متوقع ، لأن المشاريع والمتطلبات تختلف من شخص لآخر.
ظهر في الآونة الأخيرة عدد كبير من اللغات الجديدة ، والتي تم تحويلها إلى JavaScript قبل تشغيلها في المتصفح.
الأدوات الحديثة تجعل الترجمة سريعة وشفافة للغاية ، مما يسمح للمطورين في الواقع بالتكويد بلغة أخرى وتحويلها تلقائيًا “تحت الغطاء”.
أمثلة على هذه اللغات:
- كوفي سكريبت هو “سكر نحوي” لجافا سكريبت. إنه يقدم بناء جملة أقصر ، مما يسمح لنا بكتابة كود أكثر وضوحًا ودقة. عادة ، مطورون روبي يحبون ذلك.
- يركز TypeScript على إضافة “كتابة بيانات صارمة” لتبسيط تطوير ودعم الأنظمة المعقدة. تم تطويره بواسطة مايكروسوفت.
- يضيف Flow أيضًا كتابة البيانات ، ولكن بطريقة مختلفة. تم تطويره بواسطة فيسبوك.
- Dart هي لغة قائمة بذاتها لها محركها الخاص الذي يعمل في بيئات غير مستعرضة (مثل تطبيقات الجوال) ، ولكن يمكن أيضًا تحويلها إلى JavaScript. من تطوير جوجل.
- Brython هو محول Python إلى JavaScript الذي يمكّن من كتابة التطبيقات بلغة Python الخالصة بدون JavaScript.
- Kotlin هي لغة برمجة حديثة وموجزة وآمنة يمكنها استهداف المتصفح أو Node.
هناك أكثر. بالطبع ، حتى لو استخدمنا إحدى اللغات المترجمة ، يجب أن نعرف أيضًا JavaScript لفهم ما نقوم به حقًا.
ملخص
تم إنشاء جافا سكريبت في البداية كلغة للمتصفح فقط ، ولكنها تُستخدم الآن في العديد من البيئات الأخرى أيضًا.
اليوم ، تتمتع JavaScript بمكانة فريدة باعتبارها لغة المتصفح الأكثر استخدامًا مع التكامل الكامل في HTML و CSS.
هناك العديد من اللغات التي يتم “تحويلها” إلى JavaScript وتوفر ميزات معينة. يوصى بإلقاء نظرة عليها ، على الأقل لفترة وجيزة ، بعد إتقان JavaScript.
اترك تعليقاً