Корисник:AleksandarVranjes/Front and back ends

С Википедије, слободне енциклопедије

U softverskom inženjerstvu, termini front end (prednji kraj) i back end (zadnji kraj) predstavljaju razlike između sloja prezentacije (front end), i sloja pristupa podacima (back end) jednog softvera, ili fizičkog dela, tj. hardvera. U klijent-server modelu, klijent ulgavnom predstavlja front end, dok se server uglavnom smatra kao back end, čak i kada se prezentacijski deo radi na samom serveru.

Uvod[уреди | уреди извор]

U softverskoj arhitekturi, može postojati mnogo nivao između hardvera i krajnjeg korisnika. O svakom se može govoriti kao o front end-u i back end-u. Reč front je abstrakcija, koja pojednostavljuje pozadinske komponente i time pruža interfejs lak za korišćenje, dok back uglavnom brine o biznis logici i skladištenju podataka.

U telekomunikacijama, frontom se mogu smatrati uređaj ili servisi, dok je back infrastruktura koja podržava pružanje usluga.

Neko osnovno pravilo je da klijentska strana (ili front end) ustvari neka komponenta koju korisnik kotroliše. Kod na strani servera (ili back end) se uglavnom nalazi na samom serveru, često fizički daleko od korisnika.

Definicja Softvera[уреди | уреди извор]

  • У системима за управљање садржајем, термини предњи крај и задњи крај могу се односити на погледе на ЦМС и административне погледе на крајњег корисника. [1]
  • У синтези говора, предњи крај се односи на део система синтезе који претвара улазни текст у симболичку фонетску репрезентацију, а задњи крај претвара симболичку фонетску репрезентацију у стварне звукове. [2]
  • За главне подсистеме рачунара, графички управљач датотекама представља предњи крај система датотека на рачунару и интерфејс љуске са оперативним системом . Предњи крај је окренут ка кориснику, а задњи крај покреће програме оперативног система као одговор. [тражи се извор] [ <span title="This claim needs references to reliable sources. (December 2016)">потребан цитат</span> ][ <span title="This claim needs references to reliable sources. (December 2016)">потребан цитат</span> ]
  • У компајлерима, предњи крај преводи изворни код компјутерског програмирања у посредну репрезентацију, а задњи део ради са средњом представом да би произвео код у излазном рачунару. Задњи део се обично оптимизује да би произвео код који ради брже. Разликовање фронт-енд / бацк-енд може одвојити секцију парсера која се бави изворним кодом и задњим крајем који генерише код и оптимизира . Неки дизајни, као што је ГЦЦ, нуде избор између вишеструких предњих крајева (парсирање различитих изворних језика ) или задњег краја (генерисање кода за различите циљне процесоре ). [3]
  • Коришћење интерфејса командне линије (ЦЛИ) захтева стицање посебне терминологије и меморисања команди, тако да графички кориснички интерфејс (ГУИ) делује као предњи крај десктоп окружења .


  • U sistemima za upravljanje sadržaja, termini front end i back end mogu se odnositi na pogled kranjeg korisnika na CMS i administrativu.[1]
  • U sintezi govora front end se odnosi na deo sistema sinteze koja pretvara ulazni tekst u simbolički fonteski prikaz, a zatim back end pretvara simolički fonetski prikaz u zvuk.[2]
  • Za glavne kompijutrske podsisteme, grafički fajl menadžer je front end za datoteke na računaru, i shell interfejs sa operativnim sistemom. Front end je zadužen za korisnika, a back end pokreće programe operativnog sistema kao odgovor.
  • U komplajlerima front end prevodi kompijuterski generisan izvorni kod u unapređenu verziju, a back end zatim tu verziju pretvara u izlazni kod na računaru. Back end se uglavnom optimizuje, da bi proizveo kod koji radi brže. Razlikovanje front/back end-a (probaj ovo da smislis). Neki dizajni, kao što je GCC, pružaju mogućnost biranja više front end-ova ( parsovanje različitih izvornih jezika) ili back end-ova ( generišu kod za različite vrste procesora).[3]
  • Korišćenje interfejsa komandne linije (CLI) zahteva sticanje posebne terminologije i memorizacije komandi, tako da grafički korisnkički interfejs (GUI) predstavlja front end desktop okruženja.

Razvoj weba kroz primer[уреди | уреди извор]

Други начин да схватите разлику између ова два елемента је разумевање знања потребног за фронт-енд насупрот девелоперу који ради на позадини софтвера . Доња листа се фокусира на веб развој као пример.

Drugačiji način da se razume razlika između ova dva elemnta je dobro shvatanje znanja koja su potrebna za front i back end softversko razvijanje. Lista ispod može fokusira se na rajzvoj veba i poslužiće nam kao primer.

I jedno i drugo[уреди | уреди извор]

  • Алати за контролу верзија као што су ГитХуб, СоурцеФорге или Мерцуриал
  • Алати за пренос датотека и протоколи као што су ФТП или рсинц
  • Alati za kontrolu kao što su GitHun, SourceForge ili Mercuiral
  • Alati za prenos podataka i protokola kao što su FTP ili rsync.

Front-end fokusirani[уреди | уреди извор]

  • Markap i veb jezici kao što su HTML,CSS,JavaScript obično koriste pomoćne biblioteke kao što su Sass ili JQuery.
  • Asihnroni pozivi uz pomoc AJAX-a.
  • Jednostrane aplikacije ( uz pomoc framework-ova, kao što su React, AngularJS ili Vue.js
  • Web performanse ( prvi bitan crtež, vreme do interaktivnosti, animacija u 60 FPS-a i interaktivnost, korišćenje podataka, itd).
  • Interkativni web dizajn.
  • Problemi sa kompatibilnosti pretraživača i potraga za rešenjima.
  • End-to-end testiranje pretraživačem bez grafičko korisničkog interfejsa.
  • Izgradnja automatizacije za transformaciju i spajanje JavaScript fajlova, smanjivanje veličine slike... sa alatima kao što su Webpack i Gulp.js
  • Optimizacija endžina za pretragu.
  • Pažnja o pristupačnosti
  • Jednostavna upotreba alata za editovanje slika kao što su GIMP i Photoshop.
  • Vizuelni interfejs.

Back-end fokusirani[уреди | уреди извор]

  • Skriptni jezici kao što su Node.js, PHP, Python, Ruby, Perl ili kompajlerski jezici kao što su C#, Java ili Go
  • Automatizovano testiranje framework-ova za jezik koji se koristi
  • Pristup podacima o aplikaciji
  • Biznis logika aplikacije
  • Administracija baze podataka
  • Prilagodljivost
  • Visoka dostupnost
  • Velika pažnja o bezbednosti, autentifikaciji i autorizaciji
  • Softverska arhitektura
  • Tranfsormacija podataka.
  • Backup metode i softver
  • Скриптни језици као што су Ноде.јс, ПХП, Питхон, Руби или Перл или компилирани језици као што су Ц #, Јава или Го
  • Аутоматизовани оквири тестирања за језик који се користи
  • Приступ подацима о апликацији
  • Апплицатион Бусинесс Логиц
  • Администрација базе података
  • Прилагодљивост
  • Висока доступност
  • Забринутост за безбедност, аутентификација и ауторизација
  • Архитектура софтвера
  • Трансформација података
  • Бацкуп методе и софтвер

Imajte na umu da obe pozicije, bez obzira što se radi na jednom proizvodu, zahtevaju dosta razlčit skup veština.

Definicija hardvera[уреди | уреди извор]

U mrežnom računarstvu, front end može da predstavlja bilo koji hardver koji optimizuje ili štiti mrežni saobraćaj[4]. Naziva se aplikacioni front-end hardver zato što se nalazi na prednjem delu ili na samoj granici mreže. Mrežni saobraćaj prolazi kroz front-end hardver pre ulaska u mrežu

У мрежном рачунању, предњи крај може да се односи на било који хардвер који оптимизује или штити мрежни саобраћај . [4] То се назива фронт-енд хардвер апликације, јер се налази на предњем крају мреже или на граници . Мрежни саобраћај пролази кроз предњи крај хардвера пре уласка у мрежу.

U proizvodnji procesora, front end dizajn bi bio početni opis ponašanja kola u hardver desktiprtivnom jeziku kao što je Verilog, dok bi kod back enda dizajn bio proces mapiranja tog ponašanja na fizičke tranzistore na toj matrici. [5]

У дизајну процесора, дизајн предњег краја би био почетни опис понашања кола у језику описа хардвера као што је Верилог, док би дизајн задњег краја био процес мапирања тог понашања на физичке транзисторе на матрици. [5]

Takođe pogledajte[уреди | уреди извор]

Reference[уреди | уреди извор]

  1. ^ а б Thapliyal, Vimal. „Difference Between Frontend and Backend MVC – Joomlatuts”. joomlatuts.net. Приступљено 2016-12-30. 
  2. ^ а б Gutierrez--Osuna, Ricardo. „L18: Speech synthesis (back end)” (PDF). tamu.edu. Texas A&M University. Приступљено 2016-12-29. 
  3. ^ а б Bin Muhammad, Rashid. „Operating Systems Notes”. www.personal.kent.edu. Kent State University. Приступљено 2016-12-30. 
  4. ^ O'Dell, Mike. „Network Front-End Processors, Yet Again | June 2009 | Communications of the ACM”. cacm.acm.org. Приступљено 2016-12-30. 
  5. ^ а б „Front-End Design | Online Documentation for Altium Products”. techdocs.altium.com. Приступљено 2016-12-30. 

[[Категорија:Софтверска архитектура]]