في هذا الدرس 8تصفّح المواضيع
في الفصل السابق، تعرّفنا على تطوير الواجهة الأمامية () بوصفه كل ما يراه الزائر ويتفاعل معه مباشرة داخل شاشة المتصفح. ولكن ماذا يحدث في اللحظة التي تضغط فيها على زر «تسجيل الدخول» أو «إتمام الشراء» أو «حفظ التعديلات»؟ لا يستطيع المتصفح وحده الاحتفاظ بحسابات ملايين المستخدمين أو التحقق من كلمات المرور السرية أو خصم الرصيد البنكي بأمان؛ وهنا يظهر الدور الحاسم لـ تطوير الواجهة الخلفية () الذي يمثّل العقل المدبر الخفي لتطبيقات الويب.
قبل الغوص في تفاصيل هذا الدرس، استعرض جدول المصطلحات الأساسية التالية:
| المصطلح بالعربية | المصطلح بالإنجليزية | النطق التقني | المعنى المبسط |
|---|---|---|---|
| تطوير الواجهة الخلفية | باك إند ديفيلوبمنت | بناء الجزء غير المرئي من الموقع الذي يعمل على الخادم لمعالجة الطلبات وإدارة قواعد البيانات والحماية. | |
| البرمجة من جهة الخادم | سيرفر سايد بروجرامينج | تنفيذ الأكواد والعمليات الحسابية داخل الخادم البعيد قبل إرسال النتيجة النهائية إلى متصفح المستخدم. | |
| منطق العمل البرمجي | بيزنس لوجيك | القواعد والشروط والحسابات الخاصة بالمشروع مثل التحقق من الرصيد أو صلاحية كوبون الخصم. | |
| قاعدة البيانات | داتا بيز | النظام المخصص لحفظ بيانات المستخدمين والمنتجات والطلبات بشكل دائم ومنظم يسهل البحث فيه. | |
| واجهة برمجة التطبيقات | إيه بي آي | حلقة الوصل الرسمية التي تسمح للواجهة الأمامية أو تطبيق الهاتف بطلب البيانات من الخادم الخلفي. | |
| مطور الواجهتين الشامل | فول ستاك ديفيلوبر | المطور القادر على بناء شاشات الواجهة الأمامية في المتصفح ومنطق الواجهة الخلفية في الخادم معاً. |
يُعرَف تطوير الواجهة الخلفية () أيضاً باسم التطوير من جهة الخادم ()، وهو التخصص الهندسي المسؤول عن كل ما يجري خلف الكواليس في مواقع وتطبيقات الويب. فبينما تهتم الواجهة الأمامية بجمال الشاشة وتفاعل الأزرار أمام الزائر، تتولى الواجهة الخلفية المهام الجوهرية الخفية داخل الخادم:
- التحقق من الهوية والصلاحيات: فحص صحة البريد الإلكتروني وكلمة المرور عند تسجيل الدخول، وتحديد الصفحات التي يحق لهذا الحساب الوصول إليها.
- تنفيذ القواعد والعمليات الحسابية: حساب إجمالي الفاتورة والضرائب، والتحقق من صلاحية قسيمة الخصم، أو تصحيح إجابات اختبار إلكتروني وإصدار النتيجة.
- الحفظ الدائم للبيانات واسترجاعها: تخزين الحسابات الجديدة وتقدم الطالب وطلبات الشراء داخل قاعدة بيانات مركزية بحيث يجد المستخدم بياناته محفوظة حتى لو فتح حسابه من هاتف آخر.
عرفت في فصل تطوير الويب الفرق بين الصفحة الثابتة (التي تعرض نفس النص الجاهز لكل الزوار) والصفحة الديناميكية (التي تتغير بياناتها حسب كل مستخدم). ولكن كيف تنفذ الواجهة الخلفية هذا الطلب الديناميكي فعلياً في أجزاء من الثانية عندما تضغط على زر مثل «عرض طلباتي»؟
- 1. إرسال الطلب من المتصفح: يرسل متصفحك رسالة طلب مشفرة () عبر الإنترنت إلى خادم الموقع يطلب فيها قائمة مشترياتك.
- 2. استقبال الخادم وتوجيه الطلب: يستلم الخادم الرسالة ويوجهها إلى الجزء البرمجي المختص بإدارة الطلبات داخل الواجهة الخلفية.
- 3. المعالجة والاستعلام من قاعدة البيانات: يتحقق كود الواجهة الخلفية أولاً من هويتك المسجلة، ثم يطلب من قاعدة البيانات استخراج الفواتير المرتبطة برقم حسابك أنت فقط.
- 4. إرجاع الاستجابة للمتصفح: يرتب الخادم البيانات المستخرجة (سواء كبيانات منظمة أو صفحة مجهزة) ويرسلها إلى متصفحك ليعرضها أمامك على الشاشة.
تتبّع هذه المراحل الأربع المتتابعة لرحلة الطلب الديناميكي في المخطط النصي الآتي:
[1. Browser UI] -- POST /orders/checkout --> [2. Web Server]
[2. Web Server] -- Runs Business Rules ----> [3. Back-End App]
[3. Back-End] -- Saves & Reads Record ---> [4. Database]
[2. Web Server] <-- Returns 200 OK JSON ---- [3. Back-End App]
تقوم أي واجهة خلفية حديثة — سواء كانت لمتجر إلكتروني صغير أو لمنصة تعليمية كبرى — على أربعة أركان معمارية مترابطة تعمل معاً في تناغم تام:
| ركن الواجهة الخلفية | الوظيفة الأساسية داخل النظام | مثال عملي واقعي |
|---|---|---|
| 1. الخادم () | الحاسوب القوي المتصل بالإنترنت على مدار الساعة لاستقبال طلبات الزوار وتشغيل برمجيات الموقع. | استقبال طلبات آلاف الزوار في نفس اللحظة وإبقاء الموقع متاحاً دون توقف. |
| 2. منطق العمل () | الكود البرمجي الذي يتخذ القرارات ويطبق شروط وقوانين المشروع والحسابات المالية. | التأكد من أن كود الخصم غير منتهي الصلاحية قبل خصم 20% من قيمة الفاتورة. |
| 3. قاعدة البيانات () | المخزن المنظم الدائم الذي يحفظ سجلات المستخدمين والمنتجات والرسائل والمدفوعات. | حفظ بيانات حساب طالب جديد وتقدمه في الدروس بحيث لا تضيع عند إغلاق المتصفح. |
| 4. واجهة البرمجة () | البوابة المنظمة التي تسمح للواجهة الأمامية وتطبيقات الهواتف بطلب البيانات من الخادم. | توفير مسار موحد يزود موقع الويب وتطبيق الهاتف بقائمة الدروس المتاحة. |
تأمل المخطط المعماري الآتي ثم جرّب المحاكي التفاعلي لتشاهد كيف تتعاون الأركان الأربعة عند اشتراك طالب في دورة تدريبية:
يتكرر مصطلح منطق العمل البرمجي () كثيراً في هندسة الواجهة الخلفية؛ ويُقصد به ببساطة مجموعة القوانين والشروط الواقعية التي تحكم طريقة عمل المؤسسة أو الخدمة بعد تحويلها إلى قرارات برمجية ينفذها الخادم:
- في متجر إلكتروني: «إذا تجاوزت قيمة سلة المشتريات 100 دولار، اجعل الشحن مجانياً؛ ولا تسمح أبداً بإتمام طلب لمنتج نفدت كميته من المستودع».
- في تطبيق بنكي: «قبل تحويل أي مبلغ، تحقق من أن حساب المرسل نشط، وأن رصيده يكفي، وأنه لم يتجاوز الحد الأقصى للتحويل اليومي».
- في منصة تعليمية: «لا تُصدر شهادة إتمام الكورس للطالب إلا بعد إنهاء جميع الدروس واجتياز الاختبار النهائي بنسبة 80% على الأقل».
ما المهام اليومية الفعلية التي ينجزها مطور الواجهة الخلفية () داخل فرق البرمجة؟ تتركز مسؤولياته الهندسية في أربعة محاور رئيسية:
- 1. تصميم هيكلة قواعد البيانات: تخطيط الجداول والعلاقات التي تحفظ بيانات المستخدمين والمنتجات والطلبات بطريقة منظمة تمنع التكرار وتسرّع البحث.
- 2. برمجة منطق الخادم وبناء واجهات : كتابة المسارات البرمجية التي تستقبل طلبات الواجهة الأمامية وتنفذ القواعد الحسابية وتعيد النتائج المنظمة.
- 3. تأمين الحسابات والصلاحيات: بناء أنظمة تسجيل الدخول الآمنة، وحماية كلمات المرور، وضمان عدم قدرة أي مستخدم على الاطلاع على بيانات غيره.
- 4. تحسين سرعة الاستجابة ومراقبة الخادم: تسريع استعلامات البيانات، وضمان صمود الخادم أمام أعداد الزوار الكبيرة، وتتبع سجلات الأخطاء لإصلاحها فوراً.
عندما تطلب شاشة الواجهة الأمامية ملخص فاتورة من الخادم، يقوم الكود الذي كتبه مطور الواجهة الخلفية بتجهيز وإرجاع استجابة منظمة مثل المثال الآتي:
{
"orderId": 5042,
"status": "confirmed",
"subtotal": 120.00,
"discountApplied": 20.00,
"finalTotal": 100.00,
"freeShipping": true
}
بعد أن تعرّفت على نصفي تطبيقات الويب، قارن في الجدول الهندسي الآتي بين الواجهة الأمامية () والواجهة الخلفية () من حيث بيئة العمل والمسؤوليات:
| معيار المقارنة | الواجهة الأمامية () | الواجهة الخلفية () |
|---|---|---|
| بيئة التشغيل | تعمل داخل متصفح الزائر () | تعمل داخل الخادم البعيد () |
| التركيز الأساسي | المظهر البصري، وتجربة المستخدم المتجاوبة، والتفاعل اللحظي | منطق العمل، وقواعد البيانات الدائمة، والمصادقة، وواجهات |
| التقنيات واللغات | و و وأطر العرض | و و و و وقواعد البيانات |
| الاتصال بقاعدة البيانات | لا تتصل أبداً بقاعدة البيانات المركزية بشكل مباشر | تتصل مباشرةً بقاعدة البيانات لقراءة السجلات وتحديثها |
| سرية الكود البرمجي | ينزل للمتصفح ليتمكن من رسم الشاشة ويمكن فحصه | سري تماماً داخل الخادم ولا يصل للمتصفح سوى النتيجة النهائية |
كيف يتعاون مطورو الواجهة الأمامية ومطورو الواجهة الخلفية داخل شركات البرمجة الواقعية؟ وما الدور الذي يؤديه مطور الواجهتين الشامل ()؟
- التعاون المتخصص عبر عقد الواجهة (): في الفرق المتوسطة والكبيرة، يتفق مطور الواجهة الأمامية مع مطور الواجهة الخلفية منذ البداية على شكل البيانات المتبادلة عبر ؛ وبذلك يبني الأول الشاشات بالتوازي مع بناء الثاني لمنطق الخادم وقاعدة البيانات ثم يربطانهما معاً بسلاسة.
- دور مطور الواجهتين الشامل (): يمتلك المهارة في بناء شاشات المتصفح وبرمجة الخادم وقواعد البيانات معاً؛ مما يجعله قادراً على إنجاز ميزة كاملة من جدول قاعدة البيانات وحتى الزر المرئي على الشاشة، وهو دور مطلوب بشدة في الشركات الناشئة والفرق المرنة.
- قاعدة التدرج الذكي: تذكّر دائماً أن كل مطور شامل بدأ بتعلم جانب واحد وإتقانه أولاً قبل الانتقال للجانب الآخر خطوة بخطوة.
لماذا يُعد استيعاب تطوير الواجهة الخلفية ركيزة لا غنى عنها لكل من يبني أنظمة الويب الحديثة أو يعمل على فحصها وتأمينها سيبرانياً؟
- في هندسة وبناء تطبيقات الويب: حتى لو اخترت التخصص في الواجهة الأمامية، فإن فهمك لكيفية عمل الخادم وقواعد البيانات وواجهات يجعلك قادراً على ربط واجهاتك بذكاء وتشخيص أعطال الشبكة والبيانات فوراً. أما إن تخصصت في الواجهة الخلفية فستكون أنت مهندس العقل المدبر للنظام بأكمله.
- في حماية الأنظمة والأمن السيبراني: تتركز أخطر الهجمات والثغرات الحرجة — مثل تجاوز الصلاحيات، أو التلاعب باستعلامات قواعد البيانات، أو سرقة الجلسات — حول الخادم الخلفي وبياناته. ولا يمكن فحص أمان أي نظام أو تحصينه بفعالية دون فهم عميق لكيفية عمل الواجهة الخلفية خلف الكواليس.
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
تعرّفنا في هذا الدرس الافتتاحي على مفهوم تطوير الواجهة الخلفية ()، وتتبعنا رحلة الطلب الديناميكي خلف الكواليس، ودرسنا الأركان الأربعة الأساسية (الخادم، ومنطق العمل، وقاعدة البيانات، وواجهة )، واستعرضنا المهام اليومية لمطور الواجهة الخلفية والفرق بينه وبين مطور الواجهة الأمامية والمطور الشامل (). الخطوة التالية: انتقل الآن إلى الدرس الثاني (لغات وأطر عمل الواجهة الخلفية) لنكتشف معاً أشهر لغات برمجة الخادم ( و و و و و) وأطر عملها الشهيرة مثل و ونمط !
سجّل الدخول لحفظ تقدمك
تابع إنجاز المواضيع والمصطلحات والمهام، وكمّل من آخر خطوة على أي جهاز.
المصطلحات8
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 Back-End Development تطوير الواجهة الخلفية
- التخصص الهندسي المعني ببناء برمجيات الخادم ومنطق العمل وقواعد البيانات وواجهات API والحماية خلف الكواليس.
- للمراجعة
- 02 Server-Side Execution التنفيذ من جهة الخادم
- تشغيل الكود البرمجي والعمليات الحسابية داخل الخادم البعيد بدلاً من متصفح جهاز المستخدم.
- للمراجعة
- 03 Business Logic منطق العمل البرمجي
- القواعد والشروط والمعادلات البرمجية التي يطبقها الخادم لإدارة العمليات والتحقق من صحتها.
- للمراجعة
- 04 Database (DB) قاعدة البيانات
- نظام تخزين منظم ودائم تحفظ فيه الواجهة الخلفية حسابات المستخدمين والطلبات والمحتوى وتسترجعها بسرعة.
- للمراجعة
- 05 Application Programming Interface (API) واجهة برمجة التطبيقات (API)
- قناة التواصل القياسية التي تطلب عبرها الواجهة الأمامية أو تطبيقات الهاتف البيانات من الخادم الخلفي.
- للمراجعة
- 06 Full-Stack Developer مطور الواجهتين الشامل
- مهندس برمجيات يجمع بين مهارات بناء الواجهة الأمامية في المتصفح وبناء الواجهة الخلفية وقواعد البيانات في الخادم.
- للمراجعة
- 07 API Contract عقد واجهة البرمجة (API Contract)
- اتفاق هندسي بين فريقي الواجهة الأمامية والخلفية يحدد مسارات الطلبات وشكل بيانات JSON المتبادلة بدقة.
- للمراجعة
- 08 Server-Side Validation التحقق من المدخلات في الخادم
- فحص جميع البيانات القادمة من المستخدم داخل الخادم للتأكد من سلامتها وصلاحيتها قبل حفظها في قاعدة البيانات.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
الاختصارات5
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 API API
- Application Programming Interface
- واجهة برمجة التطبيقات التي تنظم تبادل الطلبات والبيانات بين تطبيقات العميل والخادم الخلفي.
- للمراجعة
- 02 DB DB
- Database
- قاعدة البيانات المخصصة لحفظ واسترجاع السجلات الدائمة في الخادم.
- للمراجعة
- 03 JSON JSON
- JavaScript Object Notation
- صيغة نصية خفيفة ومنظمة تعتمد عليها واجهات الواجهة الخلفية لتبادل البيانات مع المتصفح وتطبيقات الهواتف.
- للمراجعة
- 04 HTTP HTTP
- Hypertext Transfer Protocol
- البروتوكول الأساسي المسؤول عن نقل رسائل الطلب والاستجابة بين متصفح العميل وخادم الواجهة الخلفية.
- للمراجعة
- 05 UI UI
- User Interface
- واجهة المستخدم المرئية في المتصفح التي تتواصل خلف الكواليس مع الواجهة الخلفية.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
مهامك قبل الاختبار
خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.
-
تنقّل بين المراحل الأربع في محاكي أركان الواجهة الخلفية في الموضوع الثالث، وسجّل دور كل من بوابة API ومنطق العمل وقاعدة البيانات عند اشتراك طالب في دورة.
-
راجع الموضوعين الرابع والسادس واشرح في جملتين لماذا يجب بقاء حسابات الأسعار وكلمات مرور قواعد البيانات داخل خادم الواجهة الخلفية حصرياً وليس في كود المتصفح.
-
اختر تطبيقاً تستخدمه يومياً واكتب ثلاث قواعد من منطق العمل (Business Logic) يجب على خادم الواجهة الخلفية فحصها قبل الموافقة على تنفيذ الطلب.
تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.
اختبر فهمك.
ووصلها للإتقان.
كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.
أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.
الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.