Page 17 - مجلة طموح IT العدد الثامن
P. 17
ما الذي تفعله الجافا سكربت في صفحتك؟
ماذا يحدث عند تحميل الصفحة وعرضها على المتصفح الخاص بالمستخدم؟
يتـم تنفيـذ كل ًا مـن الــ HTMLوالــ CSSوالــ JavaScriptداخـل بيئـة التنفيـذ الخاصـة بالمتصفـح فيمكـن تشـبيه العمليـة (كمـا موضـح فـي
الصـورة أدنـاه) بكونهـا مثـل المصنـع الـذي يأخـذ المـواد الخـام (ونقصـد بـه هنـا كـود الصفحـة) وينتـج منتـج وهـو صفحـة الويـب ،يتـم تنفيـذ
جافــا ســكريبت بواســطة محــرك جافــا ســكريبت ( )JavaScript’s engineفــي المتصفــح ،بعــد تجميــع HTMLو CSSووضعهمــا معــ ًا فــي
صفحـة ويـب،
هذا يضمن أن بنية ونمط الصفحة موجودان بالفعل في الوقت الذي يبدأ فيه تشغيل جافا سكربت.
واليـك المثـال التالـي :بعـد أن يتـم إنشـاء صفحـة الويـب بإسـتخدام أحـد علامـات الــ HTMLوهـي (< ،)>body> </bodyيتـم الوصـول الـى عنصـر
الصفحــة والتعامــل معــه عــن طريــق أحــد كائنــات الجافــا ســكربت ( )objectsوهــو ( ،)documentحيــث يعتبــر المالــك الرئيســي لجميــع
الكائنـات الموجـودة فـي الصفحـة ومـن ثـم بإسـتخدام هـذا الكائـن ،يمكننـا إضافـة نـص بصـورة ديناميكيـة علـى الصفحـة ،أو يمكـن مـن
خلالـه الوصـول الـى العناصـر الاخـرى فـي الصفحـة والتعديـل علـى محتواهـا ،أو تغييـر التنسـيق الحالـي لتلـك العناصـر والكثيـر مـن الأمـور.
لـذا يمكـن أن نسـتنتج أنـه فـي حالـة تـم تحميـل كـود الجافـا سـكربت وتنفيـذه فـي بالبدايـة قبـل HTMLو ،CSSفسـوف يـؤدي ذلـك الـى
حصـول أخطـاء.
هل إستخدام الجافا سكربت مقتصر على صفحات الويب؟
وكذلــك أهــم مــا يميــز هــذا العصــر تطبيقــات الهواتــف الذكيــة، قطعــ ًا كلا ،حيــث إنــه فــي الآونــة الأخيــرة بــدأ المطــورون إســتخدام
والجافـا سـكربت عملاقـة فـي هـذا المجـال ومـن خـال معرفتـك الجافــا ســكربت فــي عمــل تطبيقــات ســطح المكتــب ومثــال
بالجافـا سـكربت والــ HTML + CSSمـع إضافـة أحـدى إطـارات الجافـا علــى ذلــك محــرر الشــفرات الــذي يســتعمله الجميــع حاليــ ًا وهــو
ســكربت (مثــل React-Native ، Phone gap Ionicوغيرهــا) Bracketsحيـث تمـت برمجتـه بإسـتخدام الجافـا سـكربت بواسـطة
ســيمكنك أن تخــرج بتطبيــق جــوال إحترافــي مــن الدرجــة الأولــى Node.Jsوبعــض التقنيــات الاخــرى ويمكنــك فتــح البرنامــج وفتــح
ينافــس لغــات البرمجــة الأخــرى. خانــة Aboutلتــرى بنفســك.
ومــن المهــم الإشــارة الــى أن الجافــا ســكربت دخلــت أيضــا لعالــم كذلــك أصبحــت الجافــا ســكربت أحــدى لغــات برمجــة الخــوادم
الســاعات الذكيــة وشــركة الســاعات Pebble قامــت بصنــع ( )Server-side-programming languagesو تعــرف بالــ .Node.js
frameworkخـاص لصناعـة التطبيقـات الخاصـة بالسـاعات الذكيـة أضافـة الـى ذلـك هنالـك بعـض قواعـد البيانـات (MongoDB، Couch
واســمه .Pebble.js )DBتسـتخدم الجافـا سـكربت كلغـة برمجـة خاصـة بهـا.
في هذه السلسة من الدروس سوف نقتصر على إستخدام الجافا سكربت في مجال الويب وذلك بالاقتران مع ال ـHTML
و CSSلإنشاء صفحات ديناميكية وأكثر تفاعلية مع المستخدم.
هل لغة الجافا سكربت هي Interpreted Languageأم Compiled Language؟
لكي نجيب عن هذا السؤال يجب ان نعرف الفرق بين الـ interpretedوالـ .compiled
فـإذا كنـت مهتمـ ًا فـي مجـال البرمجـة فلابـد أنـه قـد تـردد علـى مسـامعك هذيـن المصطلحييـن ،ففـي الــ interpreted languagesيتـم
تنفيـذ الكـود مـن الأعلـى الـى الأسـفل (سـطر بعـد أخـر) ثـم يتـم إرجـاع النتيجـة مباشـرة ،ولا يتطلـب تحويـل الكـود الـى نمـوذج مختلـف قبـل
تنفيذهـا.
مـن ناحيـة أخـرى الــ compiled languageتقـوم بتحويـل الكـود الـى نمـوذج أخـر ( )machine codeوهـو نمـوذج يٌفهـم مـن قبـل الكمبيوتـر،
قبـل أن يتـم تنفيـذ الكـود وتسـتغرق هـذه العمليـة مـن ثوانـي الـى عـدة دقائـق وأحيانـ ًا أكثـر.
زينب سالم 17

