انتقل إلى محتوى الدرس
الدرس 84
دورة تكنولوجيا الويب

لغات وأطر عمل الواجهة الخلفيةBack-End Languages and Frameworks Overview

تعرّف على كيفية عمل لغات برمجة الخادم، وقارن بين PHP وNode.js وPython وJava وC# وGo، واكتشف لماذا يعتمد المطورون على أطر العمل الخلفية مثل Laravel وDjango ونمط التصميم المعماري MVC وكيف تختار لغتك الأولى.
أقسام الدرس
8
الأمثلة
2
اللغة
العربية
تاريخ النشر
غير محدد
المشاهدات
0
محتوى الدرس
في هذا الدرس 8تصفّح المواضيع

في فصل الواجهة الأمامية، عرفنا أن جميع متصفحات الويب تتحدث ثلاث لغات ثابتة لا تتغير: و و. ولكن عند الانتقال إلى الواجهة الخلفية، ستسمع أسماء لغات متعددة مثل و و و و و، إلى جانب أطر عمل شهيرة مثل و و و. لماذا تتعدد اللغات في الخادم بينما تتوحد في المتصفح؟ وما وظيفة أطر العمل ونمط ؟

قبل الغوص في تفاصيل هذا الدرس، استعرض جدول المصطلحات الأساسية التالية:

المصطلح بالعربية المصطلح بالإنجليزية النطق التقني المعنى المبسط
لغة برمجة الخادم سيرفر سايد لانجويج لغة برمجة تعمل داخل الخادم البعيد لمعالجة منطق التطبيق وقواعد البيانات قبل إرسال النتيجة للمتصفح.
بيئة تشغيل Node.js نود جي إس رن تايم بيئة تشغيل تتيح للمطور استخدام لغة JavaScript في برمجة الواجهة الخلفية على الخادم.
إطار عمل الواجهة الخلفية باك إند فريم وورك بنية برمجية جاهزة توفر أدوات التوجيه والاتصال بقاعدة البيانات والحماية لتسريع بناء الخادم بأمان.
نمط التصميم MVC إم في سي نمط معماري ينظم كود الخادم إلى ثلاث طبقات: البيانات (Model)، والعرض (View)، والمنسق (Controller).
توجيه المسارات يو آر إل راوتينج الآلية التي تحدد أي دالة في الخادم ستستلم الطلب بناءً على رابط الصفحة وعملية HTTP.
فصل المسؤوليات البرمجية سيباريشن أوف كونسيرنز مبدأ هندسي يقضي بوضع كل مهمة (البيانات، المنطق، العرض) في ملف مستقل لمنع تشابك الكود.

لماذا يملك فريق الواجهة الخلفية حرية الاختيار بين عدة لغات برمجة، بينما يلتزم متصفح الواجهة الأمامية بلغة برمجة واحدة هي ؟

  • المتصفح محكوم بمعيار عالمي موحد: لأن ملايين الزوار يفتحون المواقع من هواتف ومتصفحات مختلفة، اتفقت جميع المتصفحات عالمياً على دمج محرك تشغيل لغة بداخلها حتى تعمل المواقع لدى الجميع دون مطالبة الزائر بتثبيت برامج إضافية.
  • الخادم ملك للمطور وتحت سيطرته الكاملة: على العكس من ذلك، تعمل الواجهة الخلفية داخل خادم الموقع نفسه؛ فهاتف الزائر لا يشغّل كود الخادم، بل يقوم الخادم بتنفيذ الكود داخلياً ثم يرسل النتيجة النهائية فقط بصيغة أو قياسية.
  • حرية اختيار اللغة في الخادم: بما أن المتصفح لا يهمه سوى استلام النتيجة النهائية عبر بروتوكول ، يستطيع مطور الواجهة الخلفية تثبيت أي لغة برمجة يفضلها على خادمه دون أن يشعر متصفح الزائر بأي فرق!

تتصدر تقنيتا PHP وNode.js قائمة الخيارات الأكثر انتشاراً في بناء مواقع وتطبيقات الويب الحديثة:

  • لغة : صُممت هذه اللغة منذ يومها الأول خصيصاً لبناء مواقع وتطبيقات الويب الديناميكية؛ وهي تشغّل اليوم أكثر من 75% من مواقع الويب المعروفة لغتها الخلفية عالمياً (بما في ذلك منصات إدارة المحتوى الكبرى وتطبيقات الويب الحديثة المبنية بإطار Laravel). وتتميز بسهولة تعلمها للمبتدئين، وقوة مجتمعها البرمجي، وتوفر استضافتها في كل مكان.
  • بيئة ( في الخادم): انتبه إلى أن ليست لغة برمجة جديدة، بل هي بيئة تشغيل () مكّنت المبرمجين من تشغيل لغة خارج المتصفح داخل خادم الواجهة الخلفية. وتبرز قوتها في توحيد اللغة بين الواجهتين الأمامية والخلفية، وفي بناء التطبيقات اللحظية مثل الدردشة الفورية والتنبيهات الحية.

إلى جانب و، تبرز أربع لغات برمجة كبرى في هندسة الواجهة الخلفية تتفوق كل منها في قطاع صناعي محدد كما يوضح الجدول المقارن الآتي:

لغة الواجهة الخلفية أبرز نقاط القوة المجال الذي تتألق فيه بشكل خاص
لغة وضوح القراءة وسهولة الصياغة وتكامل مكتباتها العلمية منصات الويب التي ترتبط مباشرةً بـ الذكاء الاصطناعي () وتحليل البيانات وتعلم الآلة.
لغة صرامة الأنواع البرمجية، والاستقرار العالي للمشاريع العملاقة الأنظمة البنكية والمصرفية، وشركات الاتصالات، والمنصات الحكومية والمؤسسية الضخمة.
لغة طورتها مايكروسوفت ضمن منظومة السريعة والمتكاملة أنظمة الشركات الكبرى، والخدمات المالية، وبوابات الأعمال السحابية.
لغة طورتها جوجل لتجمع بين السرعة الفائقة ومعالجة آلاف الطلبات المتزامنة البنية التحتية السحابية، وخدمات البث الضخمة، والخدمات المصغرة فائقة السرعة.

إذا كان المبرمج يتقن لغة خادم مثل أو ، فلماذا لا يبني كل موقع جديد من صفحة بيضاء فارغة؟ لأن جميع تطبيقات الويب تشترك في احتياجها لنفس الركائز التأسيسية: توجيه الروابط، والاتصال بقاعدة البيانات، وتسجيل دخول الأعضاء، وفحص النماذج، وإرسال الرسائل. وبدلاً من إعادة اختراع العجلة من الصفر في كل مشروع، يعتمد المطورون على إطار عمل الواجهة الخلفية ():

  • بنية أساسية جاهزة ومختبرة: يشبه إطار العمل الهيكل الهندسي الجاهز للبناء؛ فهو يمنحك منذ اللحظة الأولى أدوات جاهزة لتوجيه المسارات وإدارة قواعد البيانات والجلسات دون كتابتها يدوياً.
  • توحيد طريقة تنظيم الكود بين الفريق: لأن إطار العمل يفرض ترتيباً قياسياً للمجلدات والملفات، يستطيع أي مطور جديد ينضم للفريق قراءة المشروع وفهمه بسرعة.
  • حماية أمنية مدمجة ومجربة: توفر أطر العمل الحديثة دفاعات أمنية جاهزة ومختبرة من آلاف الخبراء لحماية الموقع من الثغرات الشائعة.

كيف تنظم أطر العمل الشهيرة مثل و و آلاف الملفات داخل المشروع دون فوضى؟ تعتمد هذه الأطر على نمط تصميم معماري شهير يُسمى MVC (اختصاراً لـ Model – View – Controller)، ويمكنك فهمه ببساطة تامة عبر تشبيه المطعم العملي:

  • 1. المنسق ( — النادل): يشبه النادل الذي يستلم طلبك عند الطاولة؛ فالـ يستقبل طلب المستخدم القادم للخادم، ويطلب البيانات اللازمة من المطبخ ()، ثم يمررها لقسم التقديم ().
  • 2. نموذج البيانات ( — المطبخ والمخزن): يشبه الطاهي ومخزن المكونات؛ فهو الجزء المسؤول عن قواعد البيانات وقوانين العمل، ويتصل مباشرة بقاعدة البيانات لجلب السجلات أو حفظها.
  • 3. واجهة العرض ( — الطبق المقدم على الطاولة): يشبه الطبق النهائي المرتب الذي يُقدَّم أمام الزبون؛ فهو يأخذ البيانات الجاهزة ويعرضها في قالب نظيف يراه المستخدم.

جرّب المحاكي التفاعلي الآتي لتتبع كيف يمر طلب فتح صفحة دورة تدريبية عبر طبقات نمط خطوة بخطوة:

لماذا يُعد نمط مهماً للغاية في المشاريع الحقيقية؟ لأنه يطبق المبدأ الهندسي الشهير فصل المسؤوليات البرمجية ():

  • تنظيم واضح للمجلدات: إذا أردت تعديل طريقة جلب البيانات فستتوجه مباشرةً إلى مجلد ، وإذا أردت تعديل تنسيق العرض فستفتح مجلد ، وإذا أردت تعديل خطوات معالجة الطلب فستفتح مجلد .
  • تعاون الفريق دون تعارض: يستطيع مطور تعديل قالب العرض () في نفس الوقت الذي يطور فيه زميله منطق البيانات () دون أن يتصادم عملهما داخل ملف واحد.

شاهد في المثال الهيكلي الآتي كيف تبدو شجرة مجلدات مشروع منظم بنمط :

نص
my-backend-project/
├── routes/          --> Maps URLs (/courses) to Controllers
├── app/
│   ├── Controllers/ --> Waiter: coordinates requests & responses
│   └── Models/      --> Kitchen: database rules & queries
└── resources/
    └── views/       --> Plate: HTML templates shown to users

أمام هذا التنوع في لغات وأطر عمل الواجهة الخلفية، يقع كثير من المبتدئين في فخ التشتت والمقارنات اللانهائية؛ فيضيعون أشهراً في الجدال حول «أي لغة هي الأفضل على الإطلاق؟» بدلاً من البدء الفعلي في التعلم والبناء. احفظ هذه القواعد الذهبية الثلاث لتحسم قرارك بثقة:

  1. 1. المفاهيم الهندسية للواجهة الخلفية واحدة في جميع اللغات بنسبة 90%: توجيه المسارات، ونمط ، وقواعد البيانات، وتوثيق الدخول، وبناء واجهات ، وقواعد الأمان هي نفسها تماماً سواء كتبتها بإطار أو أو .
  2. 2. أتقن لغة واحدة + إطار عمل واحد بعمق: لا تبحث الشركات عن مبتدئ يعرف قشوراً سطحية عن ست لغات، بل تبحث عمن يتقن لغة واحدة وإطار عمل واحد ويستطيع بناء نظام كامل وآمن بهما.
  3. 3. بوصلة الاختيار العملي السريع: إذا أردت طريقاً مباشراً ومصمماً خصيصاً لمنصات ومتاجر الويب فابدأ بـ (وهو المنهج التطبيقي المعتمد في معسكر CloseTag للواجهة الخلفية)، وإذا أردت الاكتفاء بلغة للواجهتين فاختر ، وإذا كان هدفك يدمج الويب بالذكاء الاصطناعي والبيانات فاختر .
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

تعرّفنا في هذا الدرس على آلية عمل لغات البرمجة في الخادم، وقارنّا بين أشهر اللغات (PHP وNode.js وPython وJava وC# وGo)، وفهمنا لماذا يعتمد المطورون على أطر عمل الواجهة الخلفية ( و و و و)، وشرحنا نمط التصميم المعماري MVC بتشبيه المطعم العملي، ووضعنا قاعدة ذهبية لاختيار لغة واحدة دون تشتت. الخطوة التالية: انتقل الآن إلى الدرس الثالث (قواعد البيانات العلائقية وغير العلائقية) لنكتشف معاً كيف تحفظ الواجهة الخلفية البيانات بشكل دائم، والفرق بين قواعد و والعمليات الأربع الأساسية !

مشاركة

هل كان هذا الدرس مفيدًا؟

جارٍ تحميل الآراء…

ابنِ لغتك البرمجية

المصطلحات8

راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.

0 / 8 مفهومةأول بطاقة، أول خطوة
01 Server-Side Language لغة برمجة الخادم
لغة برمجة (مثل PHP أو Python أو Java أو C# أو Go) تعمل داخل الخادم لمعالجة منطق العمل وقواعد البيانات.
للمراجعة
02 Node.js Runtime بيئة تشغيل Node.js
بيئة تشغيل تمكّن المطورين من تشغيل لغة JavaScript خارج المتصفح لبناء تطبيقات وخوادم الواجهة الخلفية.
للمراجعة
03 Back-End Web Framework إطار عمل الواجهة الخلفية
بنية برمجية متكاملة (مثل Laravel أو Django أو Express) توفر أدوات جاهزة لتوجيه المسارات وقواعد البيانات والحماية.
للمراجعة
04 MVC (Model-View-Controller) نمط التصميم المعماري MVC
نمط هندسي يقسم كود الخادم إلى ثلاث طبقات: Model للبيانات، وView للعرض، وController لتنسيق الطلبات.
للمراجعة
05 Model Layer طبقة البيانات (Model)
المكون المسؤول في نمط MVC عن تمثيل البيانات وقواعدها والتواصل المباشر مع قاعدة البيانات.
للمراجعة
06 Controller Layer طبقة التحكم والتنسيق (Controller)
المكون المنسق في نمط MVC الذي يستقبل الطلبات، ويستدعي البيانات من الـ Model، ويسلمها للـ View.
للمراجعة
07 View Layer طبقة العرض (View)
قالب العرض في نمط MVC المسؤول عن تنسيق البيانات الجاهزة وإظهارها للمستخدم في صفحة مرتبة.
للمراجعة
08 Separation of Concerns فصل المسؤوليات البرمجية
مبدأ هندسي يفصل كود البيانات عن كود التنسيق وكود العرض في مجلدات مستقلة لتسهيل الصيانة والعمل الجماعي.
للمراجعة

اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.

حروف قليلة. معنى كامل.

الاختصارات5

راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.

0 / 5 مفهومةأول بطاقة، أول خطوة
01 MVC MVC
Model-View-Controller
نمط معماري يفصل بين طبقة البيانات (Model) وطبقة العرض (View) وطبقة التنسيق والتحكم (Controller).
للمراجعة
02 PHP PHP
PHP: Hypertext Preprocessor
لغة برمجة مفتوحة المصدر من جهة الخادم صُممت خصيصاً لبناء مواقع وتطبيقات الويب الديناميكية.
للمراجعة
03 AI AI
Artificial Intelligence
الذكاء الاصطناعي الذي يتكامل بكثرة مع خوادم الواجهة الخلفية المبنية بلغة Python.
للمراجعة
04 URL URL
Uniform Resource Locator
عنوان المسار الذي يفحصه موجه الإطار الخلفي لتحديد أي Controller سيتولى معالجة الطلب.
للمراجعة
05 API API
Application Programming Interface
واجهة برمجة التطبيقات التي تُبنى بأطر العمل الخلفية لتزويد المتصفح وتطبيقات الهاتف بالبيانات.
للمراجعة

اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.

من الفهم للتطبيق

مهامك قبل الاختبار

خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.

0/3مهام منجزة
  1. بالاستعانة بالجدول في الموضوع الخامس، اكتب اسم إطار العمل الخلفي الأشهر المقترن بكل من: PHP وPython وNode.js وJava وC#.

  2. تنقّل عبر الخطوات الأربع في محاكي MVC التفاعلي في الموضوع السادس، واشرح لماذا يطلب الـ Controller البيانات من الـ Model بدلاً من وضع استعلامات البيانات داخل قالب العرض View.

  3. راجع القواعد الثلاث في الموضوع الثامن وحدد ثنائية (لغة واحدة + إطار عمل واحد) التي تخطط للتركيز عليها وإتقانها بعد إنهاء مادة تكنولوجيا الويب.

تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.

مساحة التحدي

اختبر فهمك.
ووصلها للإتقان.

كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.

10أسئلة 2أنواع تحديات 100%هدف الإتقان
تصحيح تلقائي. فرص بلا حدود.

أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.

الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.

لمحة عن التحدي10 أسئلة تنتظرك
01

لماذا يستطيع مطورو الواجهة الخلفية الاختيار بين لغات متعددة (مثل PHP وPython وJava وC#)، بينما يعتمد منطق المتصفح الأمامي على JavaScript؟

02

ما العبارة الصحيحة علمياً حول كل من PHP وNode.js في تطوير الواجهة الخلفية؟

03

أي لغة من لغات الواجهة الخلفية تشتهر بشكل خاص بالجمع بين تطوير الويب ومكتبات الذكاء الاصطناعي (AI) وتحليل البيانات؟

04

لماذا يعتمد مطورو الواجهة الخلفية المحترفون على أطر العمل (مثل Laravel أو Django أو Spring Boot) بدلاً من كتابة كل شيء من الصفر؟

05

أيٌّ من الخيارات التالية يربط بشكل صحيح بين كل لغة برمجة خلفية وإطار العمل الأشهر التابع لها؟

06

في نمط التصميم المعماري MVC (Model-View-Controller)، ما المسؤولية المحددة لطبقة المنسق (Controller)؟

07

أي طبقة في نمط MVC تتواصل مباشرةً مع قاعدة البيانات وتطبق قواعد البيانات (وتشبه المطبخ والمخزن في المطعم)؟

08

صواب أم خطأ: إن فصل منطق البيانات (Model) عن تنسيق الطلبات (Controller) وعن قوالب العرض (View) في مجلدات مستقلة يمنع تشابك الكود (Spaghetti Code) ويسهّل صيانة المشروع.

09

ما الاستراتيجية الصحيحة للمبتدئ عند اختيار لغة البرمجة وإطار العمل الأول في الواجهة الخلفية؟

10

صواب أم خطأ: تتضمن أطر العمل الكبرى مثل Laravel وDjango وSpring Boot وASP.NET Core دفاعات أمنية مدمجة يراجعها ويحدثها آلاف المهندسين حول العالم.