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