پیشانه و پسانه

از ویکی‌پدیا، دانشنامهٔ آزاد
(تغییرمسیر از فرانت اند و بک اند)

در مهندسی نرم‌افزار، اصطلاحات پیشانه و پسانه (به انگلیسی: Front end and back end) به تفکیک توجه‌ها بین لایه نمایش (قسمتی که نتیجه در آن نمایش داده می‌شود) و لایه دسترسی به داده (قسمت کار بر روی داده‌ها) در یک قطعه نرم‌افزار یا زیرساخت‌های فیزیکی یا سخت‌افزار اشاره دارد. در مدل کارخواه-کارساز (مثل پایگاه‌ها که با کارساز در ارتباط اند)، کارخواه (به انگلیسی: Client) یا سرویس‌گیرنده معمولاً به عنوان پیشانه در نظر گرفته شده و معمولاً کارساز به عنوان پسانه در نظر گرفته می‌شود، حتی زمانی که برخی از کارهای ارائه شده (در لایه نمایش یا همان پیشانه) در واقع روی کارساز انجام می‌شود.

معرفی[ویرایش]

در معماری نرم‌افزار، ممکن است لایه‌های زیادی بین سخت‌افزار و کاربر نهایی وجود داشته باشد که می‌توان دربارهٔ داشتن یا نداشتن پیشانه و پسانه برای هر لایه بحث کرد. پیشانه انتزاعی است، که لایه‌های زیرین (که تقریباً توسط کاربر غیرقابل فهم است) را ساده‌سازی کرده تا لایهٔ نمایشی‌ای (پیشانه) بسازد که کاربر بتواند به راحتی از آن استفاده کند؛ در حالی که پسانه معمولاً پردازش و ذخیره‌سازی داده‌ها را انجام می‌دهد. در ارتباط‌های مخابراتی، پیشانه می‌تواند یک افزاره یا خدمت باشد؛ در حالی که پسانهٔ این زیرساخت است که از ارائه خدمات پشتیبانی می‌کند.

یک قاعده کلی این است که سمت خدمت گیرنده (یا "پیشانه") جزیی است که کاربر دستکاریش می‌کند. کد سمت کارساز (یا "پسانه") معمولاً روی کارساز قرار می‌گیرد که اغلب، از طرف کاربر به صورت فیزیکی قابل دسترسی نیست.

تعاریف نرم‌افزاری[ویرایش]

  • در سامانه‌های مدیریت محتوا، اصطلاح‌های پیشانه وپسانه ممکن است به ترتیب به آن چه که کاربر نهایی از سامانه می‌بیند و آنچه مدیر می‌بیند مربوط شود.[۱]
  • در TTS، پیشانه اشاره به بخشی از سامانهٔ تجزیه است که متن ورودی را به نمایش نمادین آوایی تبدیل می‌کند، و پسانه نماد نمادین آوایی را به صداهای واقعی تبدیل می‌کند.[۲]
  • برای زیرسامانه‌های اصلی رایانه، نرم‌افزار مدیریت پروندهٔ گرافیکی، پیشانه‌ای برای سامانه پرونده رایانه است. کاربر با پیشانه رو به رو شده وپسانه در پاسخ، پرونده‌ها را اجرا می‌کند. [نیازمند منبع]
  • در کامپایلرها پیشانه، کد را به یک نمایش واسطه تبدیل کرده و پسانه با نمایش واسطهٔ ایجاد شده، کد را به زبان خروجی رایانه تبدیل می‌کند. پسانه معمولاً برای تولید کدی که سریع‌تر اجرا می‌شود، بهینه‌سازی می‌کند. برخی کامپایلرها، مانند GCC، اجازه گزینش میان چند پیشانه (تجزیه کد زبان‌های مختلف) یا پسانه را می‌دهند (تولید کد برای پردازنده‌های مختلف).[۳]
  • استفاده از رابط خط فرمان (CLI) نیاز به دستیابی به اصطلاحات خاص و حفظ دستورها دارد، بنابراین یک رابط کاربری گرافیکی (GUI) همانند میزکار به عنوان پیشانه عمل می‌کند.

به عنوان مثال توسعه وب[ویرایش]

راه دیگری برای درک تفاوت بین این دو، دانستن آگاهی از دانش مورد نیاز یک برنامه‌نویس پیشانه و پسانه است. به عنوان مثال فهرست زیر در توسعه وب تمرکز دارد.

هر دو[ویرایش]

پیشانه[ویرایش]

پسانه[ویرایش]

توجه داشته باشید که هر دو موقعیت (پیشانه و پسانه)، با وجود احتمالاً کار بر روی یک محصول، مجموعه‌ای از مهارت‌های بسیار متمایز را دارند.

تعاریف سخت‌افزاری[ویرایش]

در محاسبات شبکه، فرانت-اِند می‌تواند به هر سخت‌افزاری که ترافیک شبکه را بهینه‌سازی یا محافظت می‌کند اشاره کند.[۴] این نرم‌افزار به عنوان سخت افزار فرانت-اِند نامیده می‌شود ، زیرا در قسمت جلو یا مرز خارجی به سمت شبکه قرار می‌گیرد. ترافیک شبکه از طریق سخت‌افزار فرانت-اِند قبل از ورود به شبکه عبور می‌کند.

در طراحی پردازنده، طراحی فرانت-اِند، توصیف اولیه رفتار یک مدار در یک زبان توصیف سخت‌افزاری مانند وری‌لاگ (به انگلیسی: Verilog) خواهد بود، در حالی که طراحی بَک-اِند، به روند پردازش این رفتار را به ترانزیستورهای فیزیکی روی یک دای گفته می‌شود.[۵]

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  1. Thapliyal, Vimal. "Difference Between Frontend and Backend MVC – Joomlatuts". joomlatuts.net. Archived from the original on 30 December 2016. Retrieved 2016-12-30.
  2. Gutierrez--Osuna, Ricardo. "L18: Speech synthesis (back end)" (PDF). tamu.edu. Texas A&M University. Archived from the original (PDF) on 14 February 2019. Retrieved 2016-12-29.
  3. Bin Muhammad, Rashid. "Operating Systems Notes". www.personal.kent.edu. Kent State University. Retrieved 2016-12-30.
  4. O'Dell, Mike. "Network Front-End Processors, Yet Again | June 2009 | Communications of the ACM". cacm.acm.org. Retrieved 2016-12-30.
  5. "Front-End Design | Online Documentation for Altium Products". techdocs.altium.com. Retrieved 2016-12-30.