Diferența dintre Frontend și dezvoltare web Backend

Bootcamp-ul JavaScript Full-Stack 2021 este acum deschis pentru înscrieri!

în această postare vreau să vă ajut conceptual să faceți trecerea de la frontend la backend, în contextul dezvoltării Web.

să definim mai întâi ce este frontend. Frontend este termenul pe care îl folosim pentru a identifica programarea în interiorul browserului. De asemenea, o numim dezvoltare web din partea clientului.

în partea frontend vă faceți griji cu privire la crearea și distribuirea unei aplicații care rulează pe mașina clienților dvs., care poate fi un laptop, un computer desktop sau un dispozitiv mobil. Construiți ceva pe care îl distribuiți și apoi rulează în fiecare browser client.

în partea backend arhitect și de a construi o aplicație care rulează pe un singur server (la început), și fiecare client accesează această aplicație. Aplicația rulează în server, un mediu pe care îl controlați și apoi fie trimiteți browserului o aplicație folosind redarea pe partea de server a aplicației, fie creați un API care distribuie doar date JSON clienților (ceva destul de comun în ultima vreme, în special asociat cu cadre/biblioteci frontend precum React, Vue și altele).

puteți vedea deja că există o suprapunere aici. Backend poate fi folosit pentru a servi aplicația frontend-cu care se confruntă, care va rula în browser.

HTML, CSS, JavaScript, imagini, animații, React, Vue, Svelte, CSS-in-JS, managementul de stat în frontend, optimizarea performanței, toate aceste subiecte (si multe altele!) sunt legate de programare frontend.

unele tipuri de aplicații au nevoie doar de partea frontend. Site-ul meu, de exemplu, nu are un backend. Este un site static generat folosind Hugo și toată munca pe care o fac este considerată programare frontend: CSS, markup, JavaScript pe care îl folosesc pentru a alimenta căutarea, de exemplu.

programarea Frontend are propriul set unic de provocări: suportul browser-ul de caracteristici, de exemplu. Sau performanța unei aplicații pe un dispozitiv low-end. Construirea de aplicații cu o singură pagină.

dezvoltare Backend este complet diferit de frontend. În primul rând, ieșiți din mediul browserului, care eliberează pe de o parte, dar poate fi și copleșitor.

de ce? Ei bine, ai mai multe opțiuni.

în browser, alegerea limbajului de programare este întotdeauna JavaScript. Sau un limbaj care compilează JavaScript, cum ar fi TypeScript, Elm și altele.

în backend puteți folosi orice doriți. Alegerea mea obișnuită este nodul.js, deoarece fiind bazat pe JavaScript, pot fi expert într-o singură limbă și pot lucra atât în frontend, cât și în backend cu JavaScript.

dar puteți utiliza cadre cum ar fi:

  • Django care se bazează pe Python
  • Laravel care se bazează pe PHP
  • Rails care se bazează pe Ruby
  • Phoenix care se bazează pe Elixir
  • Deno care se bazează pe TypeScript

și multe altele, inclusiv ecosisteme mai orientate spre întreprinderi, cum ar fi Java și .NET.

chiar menționând Go și Rust, două alegeri minunate.

aceasta este probabil cea mai mare forță a programării backend: aveți o mulțime de opțiuni în limba pe care o puteți utiliza, astfel încât să o puteți utiliza pe cea pe care o preferați. Dar poate duce, de asemenea, la „paralizie de analiză” dacă nu sunteți sigur ce preferați, încă.

pe backend nu avem problemele cu care trebuie să ne confruntăm pe frontend. Un lucru pe care îl aud adesea este că dezvoltarea frontendului merge prea repede. Lucruri noi apar în fiecare zi și cel mai bun instrument se schimbă de la o lună la alta. Ceea ce nu este o afirmație falsă. Backend-ul în comparație arată mai mult un ecosistem cu ritm redus, în special în medii și instrumente bine cunoscute și mature, iar un backend bine scris se poate simți modern de ani de zile, în timp ce nu putem spune același lucru în frontend.

în backend avem propriul set de probleme, desigur. De exemplu, cum să stocați datele într-o bază de date. Cum să alegeți baza de date potrivită. SQL vs NoSQL. Microservicii vs monoliți. Cum să implementați aplicația noastră și unde. Cum să gestionați mai mult trafic. Cum să rezolvați în siguranță datele și solicitările. Cum să testați și să gestionați manipularea erorilor. Cum să alegi arhitectura potrivită.

apoi avem subiecte care se suprapun cu DevOps cum ar fi cum să utilizați Docker și Kubernetes, cum să configurați o integrare continuă și un flux de lucru de livrare continuă, cum să vă ocupați de Linux, infrastructură și rețele la nivel de server. Trebuie să ne confruntăm cu alegeri cum ar fi utilizarea propriilor servere VPS sau utilizarea unui PAAS precum Heroku sau folosirea serverless cu AWS Lambda. În funcție de compania și echipa în care lucrați, poate fi necesar să fiți gata să abordați și aceste subiecte.și trebuie să ne dăm seama cum să conectăm backend-ul la frontend, desigur. Cum de a construi un API. GraphQL vs odihnă. Cum să se ocupe de autentificare. Cum se face API-ul rapid la scară. Acestea sunt subiecte care implică atât frontend, cât și backend în încercarea de a-i face să vorbească între ei.

este o mulțime de lucruri și puteți găsi cărți întregi pe aceste subiecte, și acesta este motivul pentru care avem separarea dintre dezvoltatorii frontend și backend, și de ce a fi un dezvoltator full-stack care poate naviga prin toate aceste probleme este o abilitate valoroasă de a avea.

și, desigur, nu trebuie să știți toate aceste lucruri pentru a fi calificat ca un frontend sau Dezvoltator backend. Trebuie să cunoașteți aceste lucruri la un nivel înalt, pentru a vă face o idee despre ceea ce nu știți (încă). Dar este o idee grozavă și să te specializezi într-o anumită nișă și să devii grozav la asta.

de exemplu, puteți fi un dezvoltator backend care nu știe cum să se ocupe de configurația avansată Linux și să se bazeze pe un PAAS ca Heroku pentru a face asta pentru dvs. Sau folosiți AWS Lambda pentru a evita acest lucru cu totul.

cel mai important lucru pe care îl cred este să știi când este mai bine să înveți și să faci singur față de utilizarea instrumentelor care îți susțin munca.

2021 JavaScript Full-Stack Bootcamp este acum deschis pentru înscrieri până marțea viitoare! Nu ratați această oportunitate, înscrieți-vă astăzi!

Lasă un răspuns

Adresa ta de email nu va fi publicată.