
_START_ARTICLE_
جهة البرنامج
_START_PARAGRAPH_
الجهتان الأمامية والخلفية هما جانبان لكل برنامج من برامج الحاسوب. تفصل العلاقة بين طبقة العرض (الجهة الأمامية)، وطبقة الوصول إلى البيانات (الجهة الخلفية) في البرنامج، أو ما يسمى البنية التحتية المادية أو الكيان المادي. في نموذج الخادم والعميل، يعتبر العميل عادة الواجهة الأمامية، وعادة ما يعتبر الخادم الجهة الخلفية، حتى عندما يتم تنفيذ بعض أعمال العرض فعلا على الملقم.
_START_SECTION_
المقدمة
_START_PARAGRAPH_
في هندسة البرمجيات، قد يكون هناك العديد من الطبقات بين الجهاز والمستخدم النهائي. يمكن التحدث عن كل منها بأنها لها واجهة أمامية ونهاية خلفية. الواجهة عبارة عن لوحة تجريدية، حيث تعمل على تبسيط المكون الأساسي من خلال توفير واجهة سهلة الاستخدام، بينما يتعامل الجزء الخلفي عادةً مع منطق الأعمال وتخزين البيانات._NEWLINE_في مجال الاتصالات، يمكن اعتبار الواجهة بمثابة جهاز أو خدمة، في حين أن الجزء الخلفي هو البنية التحتية التي تدعم توفير الخدمة._NEWLINE_قاعدة الإبهام هي أن جانب العميل (أو "الواجهة الأمامية") هو أي مكون يتم معالجته بواسطة المستخدم. جانب الخادم (أو "النهاية الخلفية") هو الكود الموجود عادةً على الخادم، وغالبًا ما يتم إزالته فعليًا من المستخدم.
_START_SECTION_
تعريفات البرمجيات
_START_PARAGRAPH_
في أنظمة إدارة المحتوى، قد تشير المصطلحات الأمامية والخلفية إلى وجهات نظر المستخدم النهائي التي تواجه CMS والآراء الإدارية، على التوالي .  في تركيب الكلام، تشير النهاية الأمامية إلى جزء من نظام التوليف الذي يحول نص الإدخال إلى تمثيل صوتي رمزي، وتحول النهاية الخلفية التمثيل الصوتي الرمزي إلى أصوات فعلية.  بالنسبة للأنظمة الفرعية الرئيسية للكمبيوتر، تعد إدارة الملفات الرسومية بمثابة واجهة أمامية لنظام ملفات الكمبيوتر، وواجهة shell مع نظام التشغيل. تواجه الواجهة الأمامية المستخدم، بينما تقوم الواجهة الخلفية بتشغيل برامج نظام التشغيل استجابةً لذلك. في برامج التحويل البرمجي، تقوم الواجهة الأمامية بترجمة شفرة مصدر برمجة الكمبيوتر إلى تمثيل وسيط، وتعمل الواجهة الخلفية مع التمثيل الوسيط لإنتاج رمز بلغة إخراج الكمبيوتر. عادةً ما يتم تحسين الواجهة الخلفية لإنتاج رمز يعمل بشكل أسرع. يمكن للفرق الأمامي / الخلفي أن يفصل بين قسم المحلل اللغوي الذي يتعامل مع شفرة المصدر والطرف الخلفي الذي يولد الكود ويحسنه. تقدم بعض التصميمات، مثل GCC، خيارات بين نهايات أمامية متعددة (تحليل لغات المصدر المختلفة) أو نهايات خلفية (إنشاء كود لمعالجات هدف مختلفة) .  يتطلب استخدام واجهة سطر الأوامر (CLI) الحصول على مصطلحات خاصة وحفظ الأوامر، وبالتالي فإن واجهة المستخدم الرسومية (GUI) تعمل كبيئة سطح مكتب أمامية بدلاً من ذلك.
_START_SECTION_
تطوير الويب كمثال
_START_PARAGRAPH_
هناك طريقة أخرى لفهم الفرق بين الاثنين وهي فهم المعرفة المطلوبة من مطور برامج الواجهة الأمامية. تركز القائمة أدناه على تطوير الويب كمثال.
_START_SECTION_
تعريفات الأجهزة
_START_PARAGRAPH_
في حوسبة الشبكة، يمكن أن تشير الواجهة الأمامية إلى أي جهاز يعمل على تحسين حركة مرور الشبكة أو حمايتها .  يُطلق عليه اسم الجهاز للواجهة الأمامية للتطبيق لأنه يتم وضعه على الواجهة أو الحدود الخارجية للشبكة. تمر حركة مرور الشبكة عبر الأجهزة الأمامية قبل الدخول إلى الشبكة._NEWLINE_في تصميم المعالج، سيكون تصميم الواجهة الأمامية هو الوصف الأولي لسلوك الدائرة في لغة وصف الأجهزة مثل Verilog، في حين أن التصميم الخلفي سيكون عملية تعيين هذا السلوك إلى الترانزستورات المادية عند الموت.