Кіріспе

Бағдарламалық архитектурадағы презентация және деректерге қол жеткізу мәселелері.

Бағдарламалық жасақтауда, frontend және backend терминдері (кейде back end немесе back end деп жазылады) бағдарламалық жасақтаманың презентация қабаты (frontend) мен деректерге қол жеткізу қабаты (backend) арасындағы жауапкершіліктерді бөлуге қатысты. Клиент-сервер моделінде клиент әдетте frontend ретінде, ал сервер backend ретінде қарастырылады, тіпті кейбір презентациялық жұмыстар серверде орындалса да.

Кіріспе

Бағдарламалық жасақтама архитектурасында аппараттық жабдық пен соңғы пайдаланушы арасында көптеген деңгейлер болуы мүмкін. Алдыңғы бөлік – бұл абстракция, ол негізгі компонентті пайдаланушыға қолайлы интерфейс арқылы жеңілдетеді, ал артқы бөлік әдетте деректерді сақтау және бизнес-логиканы басқарады. Телекоммуникацияда алдыңғы бөлік құрылғы немесе қызмет ретінде қарастырылады, ал артқы бөлік – қызмет көрсетуді қамтамасыз ететін инфрақұрылым. Ереже бойынша, клиенттік жақ (немесе "frontend") – пайдаланушымен өзара әрекеттесетін кез келген компонент. Серверлік жақ (немесе "backend") коды әдетте серверде орналасқан, көбінесе пайдаланушыдан физикалық тұрғыдан алыс.

Бағдарламалық қамтамасыз ету анықтамалары

Контентті басқару жүйелерінде "фронт-энд" және "бэк-энд" терминдері CMS-тің пайдаланушыға көрінетін бөлігін және әкімшілік бөлігін білдіруі мүмкін. Сөйлеу синтезінде "фронт-энд" кіріс мәтінін символдық фонетикалық түрге түрлендіретін синтез жүйесінің бөлігі, ал "бэк-энд" сол символдық фонетикалық түрді нақты дыбыстарға айналдырады. Компиляторларда "фронт-энд" компьютерлік бағдарламалау тіліндегі бастапқы кодты аралық түрге аударады, ал "бэк-энд" аралық түрмен жұмыс істеп, компьютерлік шығару тілінде код жасайды. "Бэк-энд" көбінесе кодтың жылдам жұмыс істеуі үшін оңтайландырады. "Фронт-энд" / "бэк-энд" айырмашылығы бастапқы кодты өңдейтін парсер бөлігін және кодты жасайтын және оңтайландыратын "бэк-энд" бөлігін ажыратуға мүмкіндік береді. GCC сияқты кейбір жүйелер әртүрлі бастапқы тілдерді талдайтын бірнеше "фронт-энд" немесе әртүрлі процессорлар үшін код жасайтын бірнеше "бэк-энд" таңдау мүмкіндігін ұсынады. Жұмыс үстелінде іске қосылатын кейбір графикалық интерфейсті (GUI) қолданбалары, пайдаланушыны арнайы терминологияны үйренуден және командаларды жаттаудан босату үшін, негізгі командалық қатар интерфейсі (CLI) бағдарламаларының қарапайым "фронт-энд" ретінде жүзеге асырылады.

Веб-құрылысы мысалы

Екеуінің арасындағы айырмашылықты түсінудің тағы бір жолы – фронт-энд және бэк-энд бағдарламашысы үшін қажетті білімді түсіну. Төмендегі тізім мысал ретінде веб-дамытуға бағытталған.

АЖҚ

Фронт-энд API арқылы бэк-эндпен байланысады. Веб және мобильді фронт-эндтер үшін API көбінесе HTTP сұраныс/жауапқа негізделеді. Кейде API "Фронт-энд үшін бэкенд" (BFF) үлгісі бойынша жобасталады, ол фронт-энд жағында өңдеуді жеңілдету үшін жауаптарды ұсынады.

Жабдықтың анықтамасы

Желілік есептеулерде фронт-энд желілік трафикті оңтайландыру немесе қорғау үшін қолданылатын кез келген аппараттық құралды білдіре алады. Ол қосымшаның алдыңғы жағындағы аппараттық құрылғы деп аталады, себебі ол желінің сыртқа қарайтын фронтендінде немесе шекарасында орналасады. Желілік трафик желіге түсу алдында фронт-энд аппараттық құралы арқылы өтеді. Процессорды жобалауда фронт-энд дизайны – бұл аппараттық сипаттама тілінде (мысалы, Verilog) схеманың қызмет ету ерекшеліктерінің бастапқы сипаттамасы, ал бэк-энд дизайны – осы қызмет ету ерекшеліктерін чиптегі физикалық транзисторларға бейімдеу процесі болып табылады.