في هذا الدرس 8تصفّح المواضيع
يقوم كل موقع أو تطبيق ويب تفتحه في متصفحك—مهما بلغت ضخامته—على ثلاث لغات أساسية للواجهة الأمامية يفهمها كل متصفح ويب بشكل فطري: HTML وCSS وJavaScript. في هذا الدرس التأسيسي ستكتسب خريطة ذهنية واضحة لوظيفة كل لغة من هذه اللغات الثلاث، ولماذا تختلف لغتا التوصيف والتنسيق عن لغات البرمجة المنطقية، وكيف يربط المتصفح بينها عبر شجرة المستند ()، وما الدور الذي تضيفه لغة TypeScript في المشاريع الحديثة.
قبل الغوص في تفاصيل هذا الدرس، استعرض جدول المصطلحات الأساسية التالية:
| المصطلح بالعربية | المصطلح بالإنجليزية | النطق التقني | المعنى المبسط |
|---|---|---|---|
| لغة توصيف النص الفائق | إتش تي إم إل | اللغة المسؤولة عن بناء الهيكل الأساسي للصفحة وتحديد عناوينها وفقراتها وصورها وأزرارها. | |
| أوراق الأنماط المتتالية | سي إس إس | لغة التنسيق المسؤولة عن تجميل الصفحة بالألوان والخطوط والأبعاد وتوزيع العناصر على الشاشات. | |
| لغة جافاسكريبت | جافاسكريبت | لغة البرمجة المنطقية التي تضيف التفاعل والحركة وتستجيب لنقرات المستخدم داخل المتصفح. | |
| لغة توصيف | مارك أب لانجويج | لغة تستخدم الوسوم لتوصيف وتسمية أجزاء المستند (مثل عنوان أو فقرة) دون تنفيذ عمليات حسابية أو شرطية. | |
| نموذج كائنات المستند | دوكيومنت أوبجكت موديل (دوم) | شجرة حية ينشئها المتصفح في الذاكرة لتمثيل عناصر الصفحة وربط HTML بـ CSS وJavaScript. | |
| لغة تايب سكريبت | تايب سكريبت | امتداد مطوّر مبني فوق JavaScript يضيف فحصاً صارماً لأنواع البيانات لاكتشاف الأخطاء مبكراً. |
لكي تتخيل كيف تتكامل اللغات الثلاث الأساسية للواجهة الأمامية دون تداخل في المهام، تأمل تشبيه «بناء المنزل» أو «جسم الإنسان» الشهير في عالم الويب:
- لغة هي الهيكل العظمي والجدران الخرسانية: تحدد أركان المبنى ومواقع الغرف والأبواب والنوافذ بصورتها الخام قبل أي طلاء أو تجميل.
- لغة هي الطلاء والديكور والملابس الأنيقة: تكسو الهيكل الخرساني بالألوان المتناسقة والإضاءة وتوزع الأثاث وتحدد المسافات بدقة.
- لغة هي الكهرباء والأجهزة الذكية والعضلات المحركة: تمنح المنزل الحياة والحركة؛ فعندما تضغط زر الجرس يرن، وعندما تقترب من الباب الذكي يفتح تلقائياً.
تمثل لغة HTML ( — لغة توصيف النص الفائق) نقطة البداية الإجبارية لأي صفحة ويب؛ فبدونها لن يجد المتصفح عنواناً أو فقرة أو صورة أو زراً ليعرضه على الشاشة:
- تنظيم المحتوى عبر الوسوم (): تستخدم اللغة علامات وصفية تُسمى الوسوم لإخبار المتصفح بدور كل جزء من المحتوى؛ مثل للعنوان الرئيسي، و للفقرة النصية، و للزر القابل للنقر.
- ربط صفحات الويب بالروابط الفائقة: تشير كلمة إلى الروابط التشعبية التي تنقل الزائر من صفحة إلى أخرى بنقرة واحدة.
- الأهمية الدلالية لمحركات البحث وقارئات الشاشة: يساعد الهيكل السليم في محركات البحث على فهم موضوع الصفحة، كما يمكّن برامج قارئات الشاشة الصوتية من قراءة المحتوى بوضوح للمكفوفين.
لاحظ في المثال المبسط الآتي كيف تبني هيكل بطاقة يحتوي على عنوان وفقرة وزر:
<article class="lesson-card">
<h1>Front-End Core Languages</h1>
<p>HTML defines the structure of every web page.</p>
<button id="theme-btn">Switch Theme</button>
</article>
إذا فتحت صفحة مكتوبة بلغة وحدها، فستظهر كصفحة بيضاء بدائية بنصوص سوداء متراصة تحت بعضها. وهنا يأتي دور لغة CSS ( — أوراق الأنماط المتتالية):
- الألوان والخطوط والهوية البصرية: تتحكم في ألوان الخلفيات والنصوص، ونوع الخط وحجمه، وانحناء حواف البطاقات والظلال.
- تخطيط الشاشة وتوزيع العناصر: ترتب العناصر في أعمدة وشبكات متناسقة، وتضبط المسافات الداخلية والخارجية بين الأقسام.
- التجاوب الذكي مع مختلف الشاشات: بفضل قدرات تتكيف الصفحة تلقائياً لتظهر بثلاثة أعمدة على شاشة الحاسوب وبعمود واحد مريح للقراءة على شاشة الهاتف.
تأمل كيف تمنح أسطر البسيطة التالية المظهر الأنيق والألوان للبطاقة التي أنشأناها سابقاً:
.lesson-card {
background-color: #faf7fe;
color: #292338;
padding: 20px;
border-radius: 12px;
}
بعد بناء الهيكل بلغة وتجميله بلغة ، تظل الصفحة ثابتة حتى تتدخل لغة JavaScript (). فهي لغة البرمجة التي تعمل داخل المتصفح لتحويل الصفحة إلى تطبيق تفاعلي ذكي:
- الاستجابة لأفعال المستخدم (): ترصد نقرات الفأرة ولمسات الشاشة والكتابة في حقول البحث لتنفذ الأمر المطلوب في اللحظة نفسها.
- تحديث المحتوى حياً دون إعادة تحميل الصفحة: تستطيع فتح النوافذ المنبثقة، وحساب مجموع سلة المشتريات، وجلب الإشعارات الجديدة من الخادم مع بقاء المستخدم في مكانه.
- التحقق الفوري من المدخلات: تتأكد قبل إرسال النموذج من أن المستخدم كتب بريداً إلكترونياً بصيغة صحيحة ولم يترك الحقول الإلزامية فارغة.
انظر إلى هذا المثال المبسط الذي يوضح كيف تستجيب لنقرة المستخدم على زر تبديل المظهر:
const themeBtn = document.getElementById('theme-btn');
themeBtn.addEventListener('click', () => {
document.body.classList.toggle('dark-mode');
});
من أشهر الأسئلة التي يطرحها كل مبتدئ: «هل تُعد و لغتي برمجة؟» الإجابة العلمية الدقيقة هي لا؛ وفهم السبب يمنحك دقة هندسية عالية منذ يومك الأول:
| اللغة | التصنيف التقني الدقيق | السبب العلمي للتصنيف |
|---|---|---|
| لغة توصيف وهيكلية () | تستخدم الوسوم لتسمية أجزاء المحتوى (عنوان، فقرة، جدول) لكنها لا تجري عمليات حسابية أو شروطاً منطقية. | |
| لغة تنسيق مظهري () | تصف قواعد الشكل والألوان والأبعاد ولا تنفذ خوارزميات أو حلقات تكرار برمجية. | |
| لغة برمجة كاملة () | تنفذ المنطق البرمجي الكامل من متغيرات وعمليات حسابية وشروط منطقية () ودوال ومعالجة للبيانات. |
كيف تتواصل لغات و و معاً داخل المتصفح؟ الجسر الهندسي الذي يربط بينها هو شجرة المستند ():
- شجرة عائلة حية في ذاكرة المتصفح: فور قراءة ملف ، ينشئ المتصفح في ذاكرته شجرة متفرعة تُسمى شجرة ؛ تبدأ بجذر المستند () وتتفرع إلى جسم الصفحة () ثم إلى كل عنوان وفقرة وزر كعناصر حية.
- علاقة بالشجرة: تستهدف قواعد فروع هذه الشجرة لتلوينها وضبط مواقعها على الشاشة.
- علاقة بالشجرة: تتخاطب أوامر مع شجرة الحية لتغيير نص عنوان، أو تبديل لون بطاقة، أو إضافة عنصر جديد لحظياً أمام المستخدم.
تأمل المخطط التوضيحي الآتي ثم جرّب المحاكي التفاعلي لرؤية كيف تتكامل اللغات عبر شجرة :
يتبع مطورو الواجهة الأمامية المحترفون قاعدة هندسية ذهبية تُعرف باسم مبدأ فصل المهام ()، وتقوم على توزيع المسؤوليات بوضوح تام:
- ملف مستقل للهيكلة (): يُخصَّص ملف لكتابة بنية المحتوى والعناصر الدلالية فقط.
- ملف مستقل للتنسيق (): تُجمع قواعد الألوان والخطوط والتجاوب في ملف مستقل مثل .
- ملف مستقل للمنطق والتفاعل (): تُكتب أوامر الحركة والتفاعل في ملف برمجي مستقل مثل .
بفضل هذا الفصل المنظم، يسهل على الفريق صيانة المشروع وتعديل ألوان الموقع بالكامل من ملف واحد دون المساس بالمنطق البرمجي، كما يحتفظ المتصفح بنسخة مخبأة من ملفات التنسيق والسكربت لتسريع فتح بقية صفحات الموقع.
عندما تطّلع على متطلبات سوق العمل الحديث في تطوير الواجهة الأمامية، ستلاحظ تكرار اسم لغة TypeScript () بجانب . فما هي هذه اللغة، وهل تلغي الحاجة لتعلم ؟
- امتداد مطوّر مبني فوق : لغة (التي طورتها مايكروسوفت) ليست لغة بديلة أو منافسة لـ ، بل هي نفسها لغة مضافاً إليها نظام صارم لتحديد أنواع البيانات ().
- اكتشاف الأخطاء أثناء الكتابة قبل التشغيل: في المشاريع الكبيرة، قد يرسل مبرمج عن طريق الخطأ نصاً بدلاً من رقم السعر؛ فتنبهه فوراً داخل محرر الأكواد بوجود خطأ قبل تشغيل الموقع في المتصفح أصلاً.
- تتحول في النهاية إلى قياسية: المتصفحات لا تشغّل ملفات مباشرة، بل تقوم أدوات المطور بتحويل كود تلقائياً إلى كود قياسي يفهمه كل متصفح؛ ولذلك تتعلم دائماً أولاً ثم تضيف إليها بسهولة.
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
تعرّفنا في هذا الدرس على اللغات الثلاث الأساسية للواجهة الأمامية ( للهيكلة، و للتنسيق، و للتفاعل والمنطق)، والفرق العلمي بين لغات التوصيف ولغات البرمجة، وكيف تربط شجرة بينها في ذاكرة المتصفح، ومبدأ فصل المهام، ودور لغة . الخطوة التالية: انتقل الآن إلى الدرس التالي تصميم واجهة وتجربة المستخدم والتجاوب () لنرى كيف تُوظَّف قدرات لبناء شاشات متجاوبة مع الهواتف والحواسيب وتدعم إمكانية الوصول واللغتين العربية والإنجليزية!
سجّل الدخول لحفظ تقدمك
تابع إنجاز المواضيع والمصطلحات والمهام، وكمّل من آخر خطوة على أي جهاز.
المصطلحات8
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 HTML (HyperText Markup Language) لغة توصيف النص الفائق HTML
- اللغة الأساسية لبناء هيكل صفحة الويب وتحديد عناصرها مثل العناوين والفقرات والصور والأزرار.
- للمراجعة
- 02 CSS (Cascading Style Sheets) أوراق الأنماط المتتالية CSS
- لغة التنسيق المسؤولة عن المظهر البصري والألوان والخطوط وتوزيع العناصر وتجاوبها مع الشاشات.
- للمراجعة
- 03 JavaScript (JS) لغة البرمجة JavaScript
- لغة البرمجة الأساسية التي تعمل داخل المتصفح لإضافة التفاعل والمنطق البرمجي وتحديث الصفحة حياً.
- للمراجعة
- 04 Markup Language لغة توصيف
- لغة تعتمد على الوسوم لتوصيف وتنظيم هيكل المستند دون تنفيذ عمليات حسابية أو شروط برمجية.
- للمراجعة
- 05 Document Object Model (DOM) نموذج كائنات المستند DOM
- تمثيل شجري حي لعناصر الصفحة ينشئه المتصفح في الذاكرة ليربط بين HTML وCSS وJavaScript.
- للمراجعة
- 06 Separation of Concerns مبدأ فصل المهام
- مبدأ هندسي يفصل بين ملفات البنية (HTML) والتنسيق (CSS) والمنطق (JS) لتسهيل صيانة المشروع وتطويره.
- للمراجعة
- 07 TypeScript (TS) لغة TypeScript
- امتداد مطوّر مبني فوق JavaScript يضيف فحصاً مسبقاً لأنواع البيانات لاكتشاف الأخطاء قبل التشغيل.
- للمراجعة
- 08 Event Listener مستمع الأحداث التفاعلي
- آلية في لغة JavaScript ترصد تفاعل المستخدم (مثل النقر على زر) لتنفيذ أمر برمجي محدد فوراً.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
الاختصارات5
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 HTML لغة توصيف النص الفائق
- HyperText Markup Language
- اللغة القياسية لبناء هيكل ومحتوى صفحات الويب.
- للمراجعة
- 02 CSS أوراق الأنماط المتتالية
- Cascading Style Sheets
- اللغة القياسية لتنسيق المظهر البصري وتخطيط صفحات الويب.
- للمراجعة
- 03 JS لغة جافاسكريبت
- JavaScript
- لغة البرمجة المسؤولة عن التفاعل والمنطق البرمجي في المتصفح.
- للمراجعة
- 04 DOM نموذج كائنات المستند
- Document Object Model
- شجرة العناصر الحية التي ينشئها المتصفح في الذاكرة لربط اللغات الثلاث.
- للمراجعة
- 05 TS لغة تايب سكريبت
- TypeScript
- لغة مبنية فوق جافاسكريبت تضيف فحص أنواع البيانات للمشاريع الاحترافية.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
مهامك قبل الاختبار
خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.
-
اختر أي بطاقة أو شريط تنقل في هذه الصفحة وحدد ما الذي قدمته HTML (النص والأزرار)، وما قدمته CSS (الألوان والمسافات)، وما قدمته JavaScript (الاستجابة للنقر).
-
استخدم المختبر التفاعلي في الموضوع السادس للتنقل بين إنشاء عقدة HTML في شجرة DOM وتنسيقها بـ CSS وتعديل نصها حياً بـ JavaScript.
-
راجع جدول المقارنة في الموضوع الخامس ولخّص في جملة واحدة لماذا تُصنّف HTML وCSS لغتي توصيف وتنسيق بينما تُصنّف JavaScript لغة برمجة.
تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.
اختبر فهمك.
ووصلها للإتقان.
كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.
أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.
الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.