Frontend hám backend

Programmalıq injiniringde, Frontend hám backend (geyde back end yamasa back-end dep te jazıladı) terminleri programmalıq támiynattıń bir bóleginiń kórsetiw qatlamı (Frontend), menen maǵlıwmatlarǵa kiriw qatlamı (backend) arasındaǵı, yamasa fizikalıq infrastruktura yamasa apparatlıq támiyinlew arasındaǵı máselelerdiń bóliniwin ańlatadı. Klient-server modelinde, klient ádette Frontend, al server ádette backend dep esaplanadı, hátte geybir sırtqı tárepti kórsetiw jumısları serverdiń ózinde orınlanǵan jaǵdayda da.

Kirisiw

Programmalıq támiynat arxitekturasında, apparatlıq támiynat penen aqırǵı paydalanıwshı arasında kóp qatlamlar bolıwı múmkin. Frontend - bul abstrakciya, paydalanıwshıǵa qolaylı interfeys arqalı tiykarǵı komponentti ápiwayılastıradı, al backend ádette maǵlıwmatlardı saqlaw hám biznes logikasın basqaradı.

Telekommunikaciyada, Frontend qurılma yamasa xızmet sıpatında qaralıwı múmkin, al backend xızmet kórsetiwdi qollap-quwatlaytuǵın infrastruktura bolıp tabıladı.

Ulıwma qaǵıyda boyınsha, klient tárepi (yamasa "Frontend") - bul paydalanıwshı tárepinen basqarılatuǵın hár qanday komponent. Server tárepindegi (yamasa "backend") kod ádette serverde jaylasadı, kóbinese paydalanıwshıdan fizikalıq jaqtan uzaqta boladı.

Programmalıq támiynat anıqlamaları

Kontent basqarıw sistemalarında, "Frontend" hám "backend" terminleri sáykes túrde CMS-tiń aqırǵı paydalanıwshı kóretuǵın kórinislerine hám administrativlik kórinislerine qatnaslı bolıwı múmkin.[1][2]

Sóylew sintezinde, "Frontend" sintez sistemasınıń kiris tekstti simvollıq fonetikalıq kóriniske aylandıratuǵın bólimine qatnaslı, al "backend" simvollıq fonetikalıq kórinisti haqıyqıy seslerge aylandıradı.[3]

Kompilyatorlarda, "Frontend" kompyuter programmalastırıw derek kodın aralıq kóriniske awdaradı, al "backend" aralıq kórinis penen islep, kompyuter shıǵıs tilinde kod jaratadı. "Backend" ádette tezirek isleytuǵın kod jaratıw ushın optimizaciyalanadı. "Frontend"/"backend" bóliniwi derek kodı menen islesetuǵın parser bólimin hám kod jaratıp, optimizaciyalaytuǵın "backend" bólimin ajıratıwı múmkin. GCC sıyaqlı ayırım dizaynlar hár qıylı "Frontend"ler (hár qıylı dereklik tillerdi parslew) yamasa "backend"ler (hár qıylı maqsetli processorları ushın kod jaratıw) arasında tańlaw múmkinshiligin usınadı.[4]

Ayırım grafikalıq paydalanıwshı interfeysi (GUI) qollanbaları, desktop ortalıǵında isleytuǵın, tiykarǵı komandalıq qatar interfeysi (CLI) programmaları ushın juqa "Frontend" sıpatında ámelge asırıladı. Bul paydalanıwshını arnawlı terminologiyanı úyreniw hám komandalardı yadlawdan qutqaradı.

Veb-programmalastırıw mısal retinde

Ekewiniń arasındaǵı ayırmashılıqtı túsiniwdiń jáne bir jolı - "Frontend" hám "backend" baǵdarlamashıdan talap etiletuǵın bilimlerdi túsiniw. Tómendegi dizim veb-programmalastırıwǵa mısal retinde itibar qaratadı.

Ekewi ushın da:

  • Git, Mercurial yamasa Subversion sıyaqlı versiyalardı basqarıw quralları
  • FTP yamasa rsync sıyaqlı fayl jiberiw quralları hám protokolları

Frontend-ke baǵdarlanǵan:

  • HTML, CSS, JavaScript sıyaqlı belgilew hám veb tilleri, hám usı tillerde jiyi qollanılatuǵın Sass yamasa jQuery sıyaqlı qosımsha kitapxanalar
  • Asinxron sorawlardı basqarıw hám AJAX
  • Bir betli qollanbalar (React, Angular yamasa Vue.js sıyaqlı freymvorklar menen)
  • Veb ónimlilik (eń úlken mazmunlı boyaw, interaktivlik waqıtı, sekundına 60 kadr animaciyalar hám óz-ara tásirler, yadtı paydalanıw hám t.b.)
  • Juwap beretuǵın veb dizayn
  • Brauzerler arasındaǵı úylesimlilik máseleleri hám olardı sheshiw jolları
  • Basqarıwsız brauzer menen aqırǵı sınawlar
  • JavaScript faylların ózgertiw hám biriktiriw, súwret ólshemlerin kemeytiw hám Webpack hám Gulp.js sıyaqlı qurallar járdeminde basqa processlerdi avtomatlastırıw
  • Izlew sisteması optimizaciyası
  • Qoljetimlilik máseleleri
  • GIMP yamasa Photoshop sıyaqlı súwretti redaktorlaw quralların tiykarǵı paydalanıw
  • Paydalanıwshı interfeysi

Backend-ke baǵdarlanǵan:

  • PHP, Python, Ruby, Perl, Node.js sıyaqlı skript tilleri, yamasa C#, Java yamasa Go sıyaqlı kompilyaciyalanǵan tiller
  • Maǵlıwmatlarǵa kiriw qatlamı
  • Biznes logikası
  • Maǵlıwmatlar bazasın basqarıw
  • Masshtablanıw múmkinshiligi
  • Joqarı qoljetimlilik
  • Qáwipsizlik máseleleri, autentifikaciya hám avtorizaciya
  • Baǵdarlama arxitekturası
  • Maǵlıwmatlardı transformaciyalaw
  • Rezerv kóshiriw usılları hám baǵdarlamalıq támiynatı

Esletip ótemiz, eki lawazım da, bir ónim ústinde islewi múmkin bolsa da, júdá ayrıqsha kónlikpeler toplamına iye.

API

Frontend backend penen API arqalı baylanısadı. Veb hám mobil frontend-ler jaǵdayında, API kóbinese HTTP soraw/juwap tiykarında dúziledi. API geyde "Frontend ushın Backend" (BFF) úlgisi tiykarında jobalanadı, ol frontend tárepte qayta islewdi ańsatlastırıw ushın juwaplar beredi.[5]

Apparatlıq qurallar anıqlamaları

Tarmaq esaplaw sistemasında, frontend tarmaq trafigin optimallastıratuǵın yamasa qorǵaytuǵın hár qanday apparatlıq quralǵa qatnaslı bolıwı múmkin.[6] Ol ámeliy frontend apparatlıq quralı dep ataladı, sebebi ol tarmaqtıń sırtqa qaraǵan frontend-i yamasa shegarasına jaylastırılǵan. Tarmaq trafigi tarmaqqa kiriwden aldın frontend apparatlıq quralı arqalı ótedi.

Processor dizaynında, frontend dizaynı - bul Verilog sıyaqlı apparatlıq quraldı sıpatlaw tilinde sxema háreketiniń dáslepki táriyipi bolar edi, al serverlik dizayn bul háreketti matricadaǵı fizikalıq tranzistorlar menen salıstırıw procesi boladı.[7]

Derekler

  1. „Front End vs Back End of Your Website: Everything You Need to Know“. DOJO Creative (7-fevral 2020-jıl). 1-sentyabr 2022-jılda túp nusqadan arxivlendi. Qaraldı: 31-avgust 2022-jıl.
  2. Thapliyal. „Difference Between Frontend and Backend MVC – Joomlatuts“. joomlatuts.net. 30-dekabr 2016-jılda túp nusqadan arxivlendi. Qaraldı: 30-dekabr 2016-jıl.
  3. Gutierrez--Osuna. „L18: Speech synthesis (backend)“. tamu.edu. Texas A&M University. 14-fevral 2019-jılda túp nusqadan arxivlendi. Qaraldı: 29-dekabr 2016-jıl.
  4. Bin Muhammad. „Operating Systems Notes“. www.personal.kent.edu. Kent State University. 31-avgust 2018-jılda túp nusqadan arxivlendi. Qaraldı: 30-dekabr 2016-jıl.
  5. Wickramarachchi. „The BFF Pattern (Backend for Frontend): An Introduction“. Bits and pieces (24-fevral 2021-jıl). 27-mart 2024-jılda túp nusqadan arxivlendi. Qaraldı: 13-noyabr 2021-jıl.
  6. O'Dell. „Network Front-End Processors, Yet Again | June 2009 | Communications of the ACM“. cacm.acm.org. 30-dekabr 2016-jılda túp nusqadan arxivlendi. Qaraldı: 30-dekabr 2016-jıl.
  7. „Front-End Design | Online Documentation for Altium Products“. techdocs.altium.com. 30-dekabr 2016-jılda túp nusqadan arxivlendi. Qaraldı: 30-dekabr 2016-jıl.