Leiðbeiningar

Frontend vs backend: Hver er munurinn?

Framendinn (frontend) er sá hluti appsins sem keyrir í vafra notandans, það er síðurnar, hnapparnir, eyðublöðin og hreyfingarnar sem hann sér og smellir á. Bakendinn (backend) er sá hluti sem keyrir á netþjóni sem notandinn sér aldrei: hann geymir og sækir gögn, beitir viðskiptareglunum, athugar hver má gera hvað og talar við aðra þjónustu eins og greiðslur og tölvupóst. Þessir tveir hlutar tala saman í gegnum API og ásamt gagnagrunni mynda þeir saman „full-stack“ app.

Af hverju þetta skiptir máli þegar þú byggir með gervigreind

Þegar þú lýsir appi fyrir gervigreindar-smið ertu að lýsa báðum hlutunum í einu, hvort sem þú áttar þig á því eða ekki. „Viðskiptavinir geta pantað tíma“ þýðir pöntunarform (frontend), reglur um hvaða tímar eru lausir (backend) og stað til að vista pantanir í (gagnagrunni).

Að vita skiptinguna hjálpar á þrjá hagnýta vegu:

  1. Öryggi. Allt í frontend getur notandinn séð og breytt. Reglur og leyndarmál verða að vera í backend.
  2. Villuleit. „Hnappurinn svarar ekki“ og „hnappurinn svarar en ekkert er vistað“ benda á mismunandi hluta, og ef þú segir hvað þú sérð hjálpar það gervigreindinni að finna orsökina hraðar.
  3. Hýsing og kostnaður. Vefsíða með eingöngu frontend er ódýr og einföld í hýsingu. Backend þarf að keyra einhvers staðar, og það hefur áhrif á hvað þú borgar og hvernig appið hegðar sér þegar það er ekki í notkun.

Daglegt dæmi

Hugsaðu um veitingastað.

Frontend er salurinn: matseðillinn, borðin, innréttingarnar og þjónninn sem tekur pöntunina. Hann er hannaður fyrir gesti og þeir sjá og snerta allt þetta.

Backend er eldhúsið og skrifstofan: kokkarnir sem elda, birgðageymslan, kassinn og reglur stjórans um hver fái afslátt. Gestir fara aldrei þangað inn, og þeir ættu ekki að geta það.

API-ið er milliliðurinn á milli þeirra: afgreiðsluborðið þar sem pantanir fara inn og diskar koma út, á umsömdu sniði. Gagnagrunnurinn er birgðageymslan og pöntunarbókin.

Gestur getur skrifað sína eigin pöntunarseðil (frontend er undir hans stjórn), en eldhúsið ræður samt hvað það eldar og hvað það rukkar. Þess vegna eiga mikilvægu athuganirnar heima í bakendanum.

Hvað gerir hvor hlutur

FrontendBackend
Keyrir áTæki notandans, í vafranumNetþjón sem þú (eða hýsingaraðilinn) stjórnar
Helsta hlutverkSýna efni, taka við innslætti, bregðast við smellumGeyma gögn, beita reglum, framfylgja heimildum, kalla í aðra þjónustu
Geta notendur séð og breytt kóðanum?Já, hann er sóttur í vafrannNei
Getur geymt leynilega API-lykla?NeiJá, í umhverfisbreytum
Algengar tæknilausnirHTML, CSS, JavaScript/TypeScript, React, Vue, Svelte, TailwindNode.js, Python (FastAPI, Django), C#, Java, Go, Ruby
Það sem fer úrskeiðisÚtlit brotnar í farsíma, hnappur gerir ekkert, hæg síðaGögn vistast ekki, röng gögn birtast, villur, öryggisgöt

Sumir rammar gera línuna óskýra. Next.js til dæmis leyfir einu verkefni að innihalda bæði kóða fyrir vafra og kóða fyrir netþjón. Hugmyndin er sú sama: spurningin er alltaf hvar keyrir þessi hluti?

Dæmi: bókun í tíma

Hér er það sem gerist þegar einhver bókar jógatíma, skref fyrir skref.

SkrefHvarHvað gerist
1FrontendStundatöflusíðan hleðst og biður backend um tímana í þessari viku.
2BackendLes tíma og bókanir úr gagnagrunninum, reiknar út laus sæti og skilar listanum sem JSON.
3FrontendSýnir hvern tíma með klukkutíma, kennara og lausum sætum.
4FrontendNotandinn velur tíma og fyllir inn nafn og netfang. Formið athugar að netfangið líti rétt út (til leiðbeiningar, ekki trygging).
5Frontend → BackendSendir POST /api/bookings beiðni í gegnum API.
6BackendStaðfestir innsláttinn aftur, athugar að tíminn sé ekki fullur, vistar bókunina og biður tölvupóstþjónustuna um staðfestingu með leynilegum lykli.
7Backend → FrontendSkilar „bókað“ eða „því miður, fullt.“
8FrontendSýnir staðfestingarskjáinn.

Taktu eftir skrefum 4 og 6: innslátturinn er athugaður tvisvar. Athugunin í frontend gefur tafarlausa endurgjöf; athugunin í backend er sú sem telur í raun, því ákveðinn notandi getur farið framhjá frontend alveg.

Algeng hugtök útskýrð

HugtakMerking
Client / serverClient er vafrinn (eða appið) sem sendir beiðnirnar; server svarar þeim.
UIUser interface, það er skjáirnir og stýringarnar.
APIUmsamin leið fyrir frontend til að biðja backend um gögn eða aðgerðir.
EndpointEin tiltekin slóð í API-inu, eins og /api/bookings.
Full stackFrontend + backend + gagnagrunnur saman. Sjá hvað full-stack app er.
Static siteFrontend án eigin backend; sömu skrárnar fyrir alla.
SPASingle-page application: frontend sem uppfærir síðuna í vafranum í stað þess að hlaða nýjum síðum.
Server-side rendering (SSR)Netþjónninn smíðar HTML síðunnar áður en hún er send, sem getur hjálpað hraða og SEO.
UmhverfisbreyturStillingar og leyndarmál sem backend fær við keyrslu, geymd utan kóðans.

Þarf appið þitt backend?

Ef appið þitt…Þarf backend?
Sýnir upplýsingar sem eru þær sömu fyrir allaNei
Er með tengiliðaform sem sendir bara þér tölvupóstYfirleitt lítill, eða formþjónusta
Vistar gögn sem aðrir munu sjáJá
Er með innskráningu og einkagögnJá
Tekur við greiðslumJá, að minnsta kosti til að búa til greiðslusíður og taka við greiðsluvefkrókum (webhooks)
Notar greidda gervigreindar- eða aðra API með leynilegum lykliJá, til að halda lyklinum frá vafranum

Algeng mistök og ranghugmyndir

  • Að setja leynilega lykla í frontend. Þeir sjást öllum sem opna þróunarverkfæri vafrans. Þetta er algengasta alvarlega mistökin í appum sem gervigreind hefur smíðað.
  • Að framfylgja reglum eingöngu í frontend. Að fela „eyða“-hnappinn fyrir notendur sem eru ekki stjórnendur er ekki vörn; backend verður að hafna beiðninni.
  • Að halda að backend sé „bara gagnagrunnurinn“. Gagnagrunnurinn geymir gögn. Backend ákveður hver má lesa þau og breyta þeim og hvernig.
  • Að halda að JavaScript þýði frontend. JavaScript og TypeScript keyra líka á netþjónum með Node.js.
  • Að kenna röngum hluta um. Ef síðan lítur rétt út en gögnin eru röng er vandinn yfirleitt í backend eða gagnagrunni, ekki hönnuninni.
  • Að byggja of mikið. Portfolio þarf ekki sérsmíðað backend. Það bætir við kostnaði og hreyfanlegum hlutum.

Hvað á að biðja gervigreindar-smiðinn um

  • „Hvaða hlutar þessa apps keyra í vafranum og hverjir á netþjóninum?“
  • „Færðu alla API-lykla yfir í backend og lestu þá úr umhverfisbreytum.“
  • „Staðfestu öll form á netþjóninum en ekki bara í vafranum.“
  • „Framfylgdu í backend að það séu bara stjórnendur sem geta eytt bókunum.“
  • „Síðan lítur vel út en gögnin vistast ekki. Athugaðu skrár backend fyrir beiðnina.“
  • „Þetta er einföld markaðssíða; hafðu hana eingöngu frontend nema við þurfum backend.“

Frontend og backend í Mythex

Nýtt verkefni í Mythex byrjar á Vite, React, TypeScript og Tailwind frontend, og agentinn bætir við backend þegar appið þitt þarf það, eða þú getur beðið um sérstakt API í Node, Python (FastAPI), C# eða Java sem keyrir við hlið frontend í sama verkefni. Í forskoðuninni getur þú skipt á milli vefsíðunnar og API-netþjónsins, og birting setur upp báða hlutana, með gagnagrunni og skráageymslu þegar þörf er á. Skjölin lýsa fjölþjónustuöppum, vefhýsingar leiðarvísirinn útskýrir hvar hvor hluti keyrir þegar appið er komið í loftið, og app-sniðmátin eru fljótleg leið til að sjá full-stack dæmi.

Spurningar

Hver er munurinn á frontend og backend?

Frontend er sá hluti appsins sem keyrir í vafra notandans, það er síðurnar, hnapparnir og eyðublöðin sem hann sér. Backend keyrir á netþjóni sem notandinn sér aldrei; hann geymir gögn, beitir viðskiptareglum, athugar heimildir og talar við aðra þjónustu.

Þarf hvert app á backend að halda?

Nei. Markaðssíða, safn verka eða einföld lendingarsíða getur verið eingöngu frontend. Um leið og appið þarf að vista sameiginleg gögn, skrá notendur inn, taka við greiðslum eða nota leynilega API-lykla, þarf það backend af einhverju tagi.

Er HTML frontend eða backend?

HTML, CSS og JavaScript sem keyra í vafranum eru frontend. JavaScript getur líka keyrt á netþjóni með Node.js, og þá er það backend-kóði. Það er ekki tungumálið sem ræður, heldur hvar kóðinn keyrir.

Hvað þýðir full stack?

Full stack þýðir að ná yfir bæði frontend og backend (og yfirleitt gagnagrunninn). Full-stack app er app sem hefur alla þrjá hlutana; full-stack forritari vinnur í þeim öllum.

Mythex · Pricing · Smíðaðu hvað sem er með gervigreind · Sniðmát fyrir vefsíður og forrit · Mythex í samanburði · Orðasafn um forritasmíði með gervigreind · Ókeypis verkfæri fyrir forritasmíði með gervigreind · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)