الواجهة الأمامية والخلفية

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

مقدمة

في هندسة البرمجيات ، قد يكون هناك العديد من الطبقات بين الأجهزة والمستخدم النهائي . الواجهة عبارة عن تجريد، يبسط المكون الأساسي من خلال توفير واجهة سهلة الاستخدام ، بينما يتعامل الجزء الخلفي عادةً مع تخزين البيانات ومنطق الأعمال .

في مجال الاتصالات السلكية واللاسلكية ، يمكن اعتبار الجزء الأمامي جهازًا أو خدمة، بينما يمثل الجزء الخلفي البنية التحتية التي تدعم تقديم الخدمة.

القاعدة الأساسية هي أن جانب العميل (أو "الواجهة الأمامية") هو أي مكون يتم التعامل معه بواسطة المستخدم. عادةً ما يوجد كود جانب الخادم (أو "الواجهة الخلفية") على الخادم ، وغالبًا ما يكون بعيدًا جسديًا عن المستخدم.

تعريفات البرمجيات

في أنظمة إدارة المحتوى ، قد يشير مصطلحا الواجهة الأمامية والخلفية إلى وجهات نظر المستخدم النهائي لنظام إدارة المحتوى والوجهات الإدارية على التوالي. [1] [2]

في عملية تركيب الكلام ، يشير الواجهة الأمامية إلى جزء من نظام التركيب الذي يحول النص المدخل إلى تمثيل صوتي رمزي ، ويقوم الجزء الخلفي بتحويل التمثيل الصوتي الرمزي إلى أصوات فعلية. [3]

في المجمِّعات ، تترجم الواجهة الأمامية كود المصدر البرمجي للكمبيوتر إلى تمثيل وسيط ، وتعمل الواجهة الخلفية مع التمثيل الوسيط لإنتاج كود بلغة إخراج الكمبيوتر. عادةً ما تعمل الواجهة الخلفية على التحسين لإنتاج كود يعمل بشكل أسرع. يمكن للتمييز بين الواجهة الأمامية والخلفية فصل قسم المحلل الذي يتعامل مع كود المصدر والواجهة الخلفية التي تولد الكود وتحسنه . تقدم بعض التصميمات، مثل GCC ، خيارات بين واجهات أمامية متعددة (تحليل لغات مصدر مختلفة ) أو واجهات خلفية (توليد كود لمعالجات مستهدفة مختلفة ) . [4]

يتم تنفيذ بعض تطبيقات واجهة المستخدم الرسومية (GUI) التي تعمل في بيئة سطح المكتب كواجهة أمامية رقيقة لبرامج واجهة سطر الأوامر (CLI) الأساسية، لإنقاذ المستخدم من تعلم المصطلحات الخاصة وحفظ الأوامر .

تطوير الويب كمثال

هناك طريقة أخرى لفهم الفرق بين الاثنين وهي فهم المعرفة المطلوبة من مطور برامج الواجهة الأمامية مقابل مطور برامج الواجهة الخلفية . تركز القائمة أدناه على تطوير الويب كمثال.

كلاهما

التركيز على الواجهة الأمامية

التركيز على الواجهة الخلفية

لاحظ أن كلا المنصبين، على الرغم من إمكانية العمل على منتج واحد، لديهما مجموعة متميزة جدًا من المهارات.

واجهة برمجة التطبيقات

تتواصل الواجهة الأمامية مع الواجهة الخلفية من خلال واجهة برمجة التطبيقات . وفي حالة الواجهة الأمامية للويب والهواتف المحمولة، غالبًا ما تعتمد واجهة برمجة التطبيقات على طلب/استجابة HTTP . يتم تصميم واجهة برمجة التطبيقات أحيانًا باستخدام نمط "الواجهة الخلفية للواجهة الأمامية" (BFF)، الذي يخدم الاستجابات لتسهيل المعالجة على جانب الواجهة الأمامية. [5]

تعريفات الأجهزة

في الحوسبة الشبكية ، يمكن أن يشير مصطلح الواجهة الأمامية إلى أي جهاز يعمل على تحسين أو حماية حركة مرور الشبكة . [6] ويُطلق عليه اسم أجهزة الواجهة الأمامية للتطبيق لأنه يوضع على الواجهة الأمامية أو الحدود الخارجية للشبكة . تمر حركة مرور الشبكة عبر أجهزة الواجهة الأمامية قبل الدخول إلى الشبكة.

في تصميم المعالج ، يكون تصميم الواجهة الأمامية هو الوصف الأولي لسلوك الدائرة في لغة وصف الأجهزة مثل Verilog ، بينما يكون تصميم الواجهة الخلفية هو عملية تعيين هذا السلوك على الترانزستورات المادية الموجودة على الشريحة. [7]

انظر أيضا

مراجع

  1. ^ "الواجهة الأمامية والخلفية لموقعك على الويب: كل ما تحتاج إلى معرفته". DOJO Creative . 7 فبراير 2020. مؤرشف من الأصل في 1 سبتمبر 2022 . تم الاسترجاع 31 أغسطس 2022 .
  2. ^ Thapliyal, Vimal. "الفرق بين MVC للواجهة الأمامية والخلفية – Joomlatuts". joomlatuts.net . مؤرشف من الأصل في 30 ديسمبر 2016 . تم الاسترجاع في 30 ديسمبر 2016 .
  3. ^ Gutierrez--Osuna, Ricardo. "L18: Speech synthesis (backend)" (PDF) . tamu.edu . جامعة تكساس إيه آند إم. مؤرشف من الأصل (PDF) في 14 فبراير 2019 . تم الاسترجاع في 29 ديسمبر 2016 .
  4. ^ بن محمد، راشد. "ملاحظات حول أنظمة التشغيل". www.personal.kent.edu . جامعة ولاية كنت. مؤرشف من الأصل في 31 أغسطس 2018 . تم الاسترجاع 30 ديسمبر 2016 .
  5. ^ Wickramarachchi, Viduni (24 فبراير 2021). "نمط BFF (الواجهة الخلفية للواجهة الأمامية): مقدمة". قطع وأجزاء . مؤرشف من الأصل في 27 مارس 2024. تم الاسترجاع 13 نوفمبر 2021 .
  6. ^ O'Dell, Mike. "Network Front-End Processors, Yet Again | June 2009 | Communications of the ACM". cacm.acm.org . مؤرشف من الأصل في 2016-12-30 . تم الاسترجاع في 2016-12-30 .
  7. ^ "تصميم الواجهة الأمامية | التوثيق عبر الإنترنت لمنتجات Altium". techdocs.altium.com . مؤرشف من الأصل في 2016-12-30 . تم الاسترجاع في 2016-12-30 .
Retrieved from "https://en.wikipedia.org/w/index.php?title=Frontend_and_backend&oldid=1240472383"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate