Frontend și backend sunt doi dintre termenii cei mai utilizați în industria calculatoarelor; într-un fel, au devenit buzzwords. Ele dictează tipul de muncă pe care îl faci ca dezvoltator de software, tehnologiile pe care le folosești și cât de mult ești plătit.deci, să vorbim despre diferențele dintre acești doi termeni, de ce există în primul rând și diferitele căi pe care le puteți lua în cariera dvs. de dezvoltare software.,pentru a începe această călătorie, trebuie să înțelegem conceptul de redare a site-ului. În termeni laici, randarea site-ului înseamnă generarea sau redarea ieșirii HTML. HTML este un limbaj de marcare pe care dezvoltatorii web îl folosesc pentru a crea pagini web. Se spune că randarea site-ului se poate întâmpla atât la nivel de server, cât și la nivel de client, deci ce înseamnă asta? Este demn de remarcat faptul că frontend și client-side sunt sinonime. Același lucru este valabil și pentru backend și server-side.,
Server-side rendering (backend)
nu până la prea mult timp în urmă, Server-side rendering, sau back-end de dezvoltare web, a fost modul de facto pentru a crea site-uri web și aplicații web. Vizitați o pagină, trimiteți o solicitare de conținut, serverul procesează această solicitare și creează un răspuns care este trimis înapoi în browserul dvs.
atunci când un site face parte din server, toate procesele implicate în crearea unei pagini HTML pe care browserul dvs. web le poate înțelege sunt gestionate pe un server de la distanță care găzduiește site-ul web sau aplicația web., Aceasta include interogarea bazelor de date pentru informații și procesarea oricărei logici pe care o necesită aplicația dvs. web.în timp ce serverul de la distanță este ocupat la locul de muncă, browserul dvs. web este inactiv, așteptând ca serverul să termine procesarea cererii și să trimită un răspuns. Când răspunsul este primit, browserele web îl interpretează și afișează conținutul pe ecran.
randare din partea clientului (frontend)
În zilele mai moderne, a apărut o nouă formă de randare a site-ului numită randare din partea clientului sau dezvoltare front-end.,
cu randarea din partea clientului, redarea conținutului are loc în computerul dvs. în loc de serverul web de la distanță folosind limbajul de facto al Web-ului, JavaScript. În termeni practici, înseamnă că un server este necesar doar pentru a servi aplicația web brută, iar browserul va fi responsabil de redarea acestei aplicații în forma sa finală, HTML. De asemenea, înseamnă că o parte din logica implicată în crearea paginii web, în special cea care se ocupă de modul în care lucrurile sunt prezentate utilizatorului pe ecran (numită logică de prezentare) sunt gestionate de partea clientului.,redarea din partea clientului a devenit populară odată cu apariția bibliotecilor JavaScript, cum ar fi Angular, React și Vue.
randare izomorfă
numită și randare universală, randarea izomorfă este o tehnică nouă folosită în dezvoltarea web modernă. Ideea din spatele randării izomorfe este de a face o aplicație web dezvoltată cu un cadru JavaScript, cum ar fi Angular, React sau View, pe partea de server prima dată când o pagină este încărcată și pe partea de client după aceea.,
pentru a complica lucrurile și mai mult, există încă o altă formă de redare numită pre-redare care redă conținut la momentul compilării.
unde să redați un site este o decizie care se bazează adesea pe tipul de aplicație și demografia aplicației și va varia de la echipă la echipă și de la afaceri la afaceri.
ce este dezvoltarea front-end?
acum că înțelegem diferitele tipuri de metode de randare a site-urilor, este mai ușor să înțelegem că dezvoltarea front-end este arta creării de site-uri și aplicații web care fac pe partea clientului.,deși există multe tipuri diferite de tehnologii și stive, majoritatea dezvoltatorilor web front-end folosesc HTML, CSS și JavaScript, blocurile de facto ale web-ului și cadrele din partea clientului, cum ar fi Angular, React, Stencil și Vue.
nu totul se întâmplă pe frontend, deși. Aplicațiile randate din partea clientului se bazează în continuare pe servicii și API-uri care rulează pe servere de la distanță back-end sau în cloud.
care sunt unele locuri de muncă front-end?
-
web designer: un web designer, ați ghicit, proiectează site-uri web., Titlul postului de web designer este destul de larg, totuși. Un designer web ar putea fi doar cineva care proiectează site-urile într-un program precum Photoshop sau Fireworks și nu va atinge niciodată codul. Dar într-o altă locație, un web designer ar putea face toate comps de design în Photoshop și apoi să fie responsabil pentru crearea tuturor HTML și CSS (și, uneori, chiar JavaScript) pentru a merge împreună cu ea.
-
User interface (UI) designer: acesta este practic un designer vizual și este, în general, axat pe design., De obicei nu sunt implicați în implementarea designului, dar ar putea cunoaște HTML și CSS ușoare, astfel încât să își poată comunica ideile mai eficient dezvoltatorilor front-end.designeri de experiență utilizator (UX): designerii UX lucrează în interfață, studiind și cercetând modul în care oamenii folosesc site-urile. Apoi, ei fac schimbări printr-o mulțime de teste.Front-end developer: De asemenea, numit un designer de front-end, ei pot crea un site fără nici o dezvoltare back-end. Site-ul pe care l-ar crea fără un dezvoltator web sau folosind backend-ul este un site static., Un site static este ceva de genul unui site pentru un restaurant sau un salon de coafură. Nu necesită nicio informație care să fie stocată într-o bază de date. Paginile vor rămâne aproape întotdeauna la fel, dacă nu este timpul pentru o reproiectare. Un dezvoltator front-end poate fi obligat să aibă o înțelegere asupra testării, precum și să fie bine versat în HTML, CSS și JavaScript. Această persoană poate sau nu poate avea experiență în crearea designului într-un program de proiectare. O versiune diferită a acestui titlu este front-end engineer. Persoanele care lucrează cu anumite limbi front-end, cum ar fi JavaScript developer, sunt, de asemenea, considerate Dezvoltatori front-end.,
ce este dezvoltarea back-end?
în timp ce front-end de dezvoltare este despre a face site-uri și aplicații web face pe partea de client, back-end de dezvoltare este totul despre a face aceste aplicații face server-side. Dar este un pic mai implicat decât atât. În timp ce declarația anterioară este adevărată, dezvoltatorii back-end creează, de asemenea, servicii care procesează logica de afaceri și accesează alte resurse, cum ar fi baze de date, servere de fișiere, servicii cloud și multe altele., Aceste servicii sunt coloana vertebrală a oricărei aplicații și pot fi accesate și utilizate nu numai de aplicațiile de randare din partea serverului, ci și de aplicațiile de randare din partea clientului.
tehnologii utilizate pentru dezvoltarea back-end
când dezvoltatorii back-end creează aplicații care redau pe partea serverului, aceștia folosesc aceleași blocuri ca dezvoltatorii front-end: HTML, CSS și JavaScript.dezvoltatorii Back-end lucrează, de asemenea, cu stive de software care includ sisteme de operare, servere web, framework-uri, limbaje, API-uri de programare și multe altele., Cadrele, limbile și API-urile de programare din aceste stive sunt utilizate pentru a reda site-uri și aplicații web de pe server și pentru a crea servicii pe care alte aplicații le pot consuma.
stivele notorii includ. net, MEAN și LAMP, dar sunt multe altele și fiecare include un limbaj de programare la alegere, cum ar fi C#, JavaScript, Java, Go, Python sau PHP.
ce este dezvoltarea full-stack?
ca dezvoltator, nu trebuie să vă mulțumiți doar cu frontend sau backend; puteți face ambele ca dezvoltator full-stack. Acest lucru este, în experiența mea, în cazul în care începe distracția., Dezvoltatorii Full-stack pot crea site-uri și aplicații web care fac atât pe partea de client (frontend) și server-side (backend).de asemenea, creează servicii, componente și API-uri care încapsulează logica de afaceri, rezolvă probleme specifice de afaceri și infrastructură de acces, cum ar fi baze de date, servere de fișiere, servicii cloud și multe altele. Ei lucrează cu stiva completă și este cel mai bun din ambele lumi.,până acum, diferența dintre frontend și backend ar trebui să fie mai evidentă, precum și diferitele activități desfășurate de dezvoltatori care lucrează la ambele capete ale firului. În termeni practici, frontend înseamnă browserul și backend-ul, serverul sau, mai recent, cloud-ul.dacă vă plac interfețele de utilizator, sunteți pasionați de designul sunetului și vă plac aspectele vizuale ale creării de aplicații, atunci poate că interfața este locul în care doriți să vă petreceți timpul ca dezvoltator de software., Interfața este interesantă nu numai din punct de vedere vizual, ci și din punct de vedere al programării; veți petrece ore nesfârșite scriind logică care va face site-ul dvs. să arate și să se comporte așa cum au intenționat designerii.dacă vă place să vă petreceți timpul rezolvând probleme de afaceri, scriind algoritmi, lucrând în cloud și creând servicii și API-uri, atunci backend-ul este pentru dvs.dacă vă bucurați de ambele și vă simțiți la fel de entuziasmat și confortabil cu toate aspectele creării de aplicații web, atunci o carieră ca dezvoltator full-stack este ceea ce doriți.,indiferent de calea pe care o alegeți, nu a existat niciodată un moment mai bun pentru a fi un dezvoltator de software.